Wrapfs: ->d_revalidate now takes namei flags, not nameidata
authorErez Zadok <ezk@cs.sunysb.edu>
Wed, 5 Jun 2013 03:19:29 +0000 (23:19 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Sun, 3 Apr 2016 19:23:19 +0000 (15:23 -0400)
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/wrapfs/dentry.c

index b173153c445baeca6b8aeee4bd054718f906a43c..ed1a0cb9f0ce38d10754797cb54d4d3758457654 100644 (file)
  *          0: tell VFS to invalidate dentry
  *          1: dentry is valid
  */
-static int wrapfs_d_revalidate(struct dentry *dentry, struct nameidata *nd)
+static int wrapfs_d_revalidate(struct dentry *dentry, unsigned int flags)
 {
-       struct path lower_path, saved_path;
+       struct path lower_path;
        struct dentry *lower_dentry;
        int err = 1;
 
-       if (nd && nd->flags & LOOKUP_RCU)
+       if (flags & LOOKUP_RCU)
                return -ECHILD;
 
        wrapfs_get_lower_path(dentry, &lower_path);
        lower_dentry = lower_path.dentry;
        if (!lower_dentry->d_op || !lower_dentry->d_op->d_revalidate)
                goto out;
-       pathcpy(&saved_path, &nd->path);
-       pathcpy(&nd->path, &lower_path);
-       err = lower_dentry->d_op->d_revalidate(lower_dentry, nd);
-       pathcpy(&nd->path, &saved_path);
+       err = lower_dentry->d_op->d_revalidate(lower_dentry, flags);
 out:
        wrapfs_put_lower_path(dentry, &lower_path);
        return err;