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@cs.sunysb.edu>
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;