In ovl_dentry_open(), ovl_drop_write() is called after vfs_open() - but is
this actually necessary?  Can't we just drop it post-copyup?  After all,
that's all we wanted the write lock for, right?

David
---
--- a/fs/overlayfs/inode.c
+++ b/fs/overlayfs/inode.c
@@ -356,16 +356,14 @@ static int ovl_dentry_open(struct dentry *dentry, struct 
inode *inode,
                        err = ovl_copy_up_last(dentry, NULL, true);
                else
                        err = ovl_copy_up(dentry);
+               ovl_drop_write(dentry);
                if (err)
-                       goto out_drop_write;
+                       goto out;
 
                ovl_path_upper(dentry, &realpath);
        }
 
        err = vfs_open(&realpath, d_backing_inode(realpath.dentry), file, cred);
-out_drop_write:
-       if (want_write)
-               ovl_drop_write(dentry);
 out:
        return err;
 }
--
To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to