GIT: unionfs2-2.6.27.y: Unionfs: bugfix -- set copied up open file mode to read and write

Erez Zadok ezk at fsl.cs.sunysb.edu
Thu Aug 12 23:16:45 EDT 2010


commit fa54ab40a06c073c6c972dff850d3059f45acc2f
Author: Erez_Zadok <ezk at cs.sunysb.edu>
Date:   Sat Jul 14 03:25:02 2007 -0400

    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 <ezk at cs.sunysb.edu>

diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c
index 09d3bd4..eb5d5a0 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;


More information about the unionfs-cvs mailing list