From: Erez_Zadok Date: Sat, 14 Jul 2007 07:25:02 +0000 (-0400) Subject: Unionfs: bugfix -- set copied up open file mode to read and write X-Git-Tag: unionfs-2.5.9.2~335 X-Git-Url: https://git.fsl.cs.sunysb.edu/?a=commitdiff_plain;h=c086bbe462072ec935fb6809f01e81785b03f2f5;p=unionfs-2.6.38.y.git Unionfs: bugfix -- set copied up open file mode to read and write When we copyup a file, we used to set the new file's open mode to write only. But we need read permission too. We need write permission because we're creating a new file; and we need read permission because the original file had to have been readable. If we don't set the new files permission to BOTH read and write, we get -EBADF when trying calling vfs_read/vfs_write on a copied up file. (This fix is somewhat related to unionfs_readpage fixes that use vfs_read instead of calling the lower readpage.) Signed-off-by: Erez Zadok --- diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c index 09d3bd441f0..eb5d5a0d502 100644 --- a/fs/unionfs/copyup.c +++ b/fs/unionfs/copyup.c @@ -230,7 +230,7 @@ static int __copyup_reg_data(struct dentry *dentry, output_mnt = unionfs_mntget(sb->s_root, new_bindex); branchget(sb, new_bindex); output_file = dentry_open(new_lower_dentry, output_mnt, - O_WRONLY | O_LARGEFILE); + O_RDWR | O_LARGEFILE); if (IS_ERR(output_file)) { err = PTR_ERR(output_file); goto out_close_in2;