aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-06-10 16:03:43 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-14 08:34:14 -0400
commit0b728e1911cbe6e24020727c3870628b9653f32a (patch)
treecd975921b28300d62f3aca2fc37eef28af89b959 /Documentation
parentfa3c56bbda6c2ac2a57d96ba501dbe85cccd312b (diff)
stop passing nameidata * to ->d_revalidate()
Just the lookup flags. Die, bastard, die... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/filesystems/Locking2
-rw-r--r--Documentation/filesystems/porting5
-rw-r--r--Documentation/filesystems/vfs.txt8
3 files changed, 10 insertions, 5 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index 33e5243948f0..52a057367f6f 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -9,7 +9,7 @@ be able to use diff(1).
9 9
10--------------------------- dentry_operations -------------------------- 10--------------------------- dentry_operations --------------------------
11prototypes: 11prototypes:
12 int (*d_revalidate)(struct dentry *, struct nameidata *); 12 int (*d_revalidate)(struct dentry *, unsigned int);
13 int (*d_hash)(const struct dentry *, const struct inode *, 13 int (*d_hash)(const struct dentry *, const struct inode *,
14 struct qstr *); 14 struct qstr *);
15 int (*d_compare)(const struct dentry *, const struct inode *, 15 int (*d_compare)(const struct dentry *, const struct inode *,
diff --git a/Documentation/filesystems/porting b/Documentation/filesystems/porting
index ed9fbc23ece0..56750b714d1e 100644
--- a/Documentation/filesystems/porting
+++ b/Documentation/filesystems/porting
@@ -431,3 +431,8 @@ release it yourself.
431 d_alloc_root() is gone, along with a lot of bugs caused by code 431 d_alloc_root() is gone, along with a lot of bugs caused by code
432misusing it. Replacement: d_make_root(inode). The difference is, 432misusing it. Replacement: d_make_root(inode). The difference is,
433d_make_root() drops the reference to inode if dentry allocation fails. 433d_make_root() drops the reference to inode if dentry allocation fails.
434
435--
436[mandatory]
437 The witch is dead! Well, 1/3 of it, anyway. ->d_revalidate() does *not*
438take struct nameidata anymore; just the flags.
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
index 279de2190365..b9a406b2ed0f 100644
--- a/Documentation/filesystems/vfs.txt
+++ b/Documentation/filesystems/vfs.txt
@@ -902,7 +902,7 @@ the VFS uses a default. As of kernel 2.6.22, the following members are
902defined: 902defined:
903 903
904struct dentry_operations { 904struct dentry_operations {
905 int (*d_revalidate)(struct dentry *, struct nameidata *); 905 int (*d_revalidate)(struct dentry *, unsigned int);
906 int (*d_hash)(const struct dentry *, const struct inode *, 906 int (*d_hash)(const struct dentry *, const struct inode *,
907 struct qstr *); 907 struct qstr *);
908 int (*d_compare)(const struct dentry *, const struct inode *, 908 int (*d_compare)(const struct dentry *, const struct inode *,
@@ -921,11 +921,11 @@ struct dentry_operations {
921 dcache. Most filesystems leave this as NULL, because all their 921 dcache. Most filesystems leave this as NULL, because all their
922 dentries in the dcache are valid 922 dentries in the dcache are valid
923 923
924 d_revalidate may be called in rcu-walk mode (nd->flags & LOOKUP_RCU). 924 d_revalidate may be called in rcu-walk mode (flags & LOOKUP_RCU).
925 If in rcu-walk mode, the filesystem must revalidate the dentry without 925 If in rcu-walk mode, the filesystem must revalidate the dentry without
926 blocking or storing to the dentry, d_parent and d_inode should not be 926 blocking or storing to the dentry, d_parent and d_inode should not be
927 used without care (because they can go NULL), instead nd->inode should 927 used without care (because they can change and, in d_inode case, even
928 be used. 928 become NULL under us).
929 929
930 If a situation is encountered that rcu-walk cannot handle, return 930 If a situation is encountered that rcu-walk cannot handle, return
931 -ECHILD and it will be called again in ref-walk mode. 931 -ECHILD and it will be called again in ref-walk mode.