Wrapfs: ->create no longer takes a nameidata, only a flag
authorErez Zadok <ezk@cs.sunysb.edu>
Mon, 3 Jun 2013 04:24:30 +0000 (00:24 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Mon, 3 Jun 2013 04:24:30 +0000 (00:24 -0400)
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/wrapfs/inode.c

index 6fa57fa7a8ae10683f41211f6b85b2575eaa99cb..32fe447240c394b632f6f1e7347a5da44d3e5e6c 100644 (file)
 #include "wrapfs.h"
 
 static int wrapfs_create(struct inode *dir, struct dentry *dentry,
-                        umode_t mode, struct nameidata *nd)
+                        umode_t mode, bool want_excl)
 {
        int err = 0;
        struct dentry *lower_dentry;
        struct dentry *lower_parent_dentry = NULL;
-       struct nameidata lower_nd;
        struct path lower_path;
 
        wrapfs_get_lower_path(dentry, &lower_path);
@@ -28,14 +27,10 @@ static int wrapfs_create(struct inode *dir, struct dentry *dentry,
        if (err)
                goto out_unlock;
 
-       err = init_lower_nd(&lower_nd, LOOKUP_CREATE);
-       if (err < 0)
-               goto out;
        err = vfs_create(lower_parent_dentry->d_inode, lower_dentry, mode,
-                        &lower_nd);
+                        want_excl);
        if (err)
                goto out;
-       /* XXX; should we pass lower_nd.path instead of lower_path? */
        err = wrapfs_interpose(dentry, dir->i_sb, &lower_path);
        if (err)
                goto out;