diff options
-rw-r--r-- | fs/namei.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/namei.c b/fs/namei.c index 1a5707aaed36..91c637b68984 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -463,9 +463,9 @@ err_root: | |||
463 | return -ECHILD; | 463 | return -ECHILD; |
464 | } | 464 | } |
465 | 465 | ||
466 | static inline int d_revalidate(struct dentry *dentry, struct nameidata *nd) | 466 | static inline int d_revalidate(struct dentry *dentry, unsigned int flags) |
467 | { | 467 | { |
468 | return dentry->d_op->d_revalidate(dentry, nd ? nd->flags : 0); | 468 | return dentry->d_op->d_revalidate(dentry, flags); |
469 | } | 469 | } |
470 | 470 | ||
471 | /** | 471 | /** |
@@ -511,7 +511,7 @@ static int complete_walk(struct nameidata *nd) | |||
511 | return 0; | 511 | return 0; |
512 | 512 | ||
513 | /* Note: we do not d_invalidate() */ | 513 | /* Note: we do not d_invalidate() */ |
514 | status = d_revalidate(dentry, nd); | 514 | status = d_revalidate(dentry, nd->flags); |
515 | if (status > 0) | 515 | if (status > 0) |
516 | return 0; | 516 | return 0; |
517 | 517 | ||
@@ -1050,7 +1050,7 @@ static struct dentry *lookup_dcache(struct qstr *name, struct dentry *dir, | |||
1050 | if (d_need_lookup(dentry)) { | 1050 | if (d_need_lookup(dentry)) { |
1051 | *need_lookup = true; | 1051 | *need_lookup = true; |
1052 | } else if (dentry->d_flags & DCACHE_OP_REVALIDATE) { | 1052 | } else if (dentry->d_flags & DCACHE_OP_REVALIDATE) { |
1053 | error = d_revalidate(dentry, nd); | 1053 | error = d_revalidate(dentry, nd ? nd->flags : 0); |
1054 | if (unlikely(error <= 0)) { | 1054 | if (unlikely(error <= 0)) { |
1055 | if (error < 0) { | 1055 | if (error < 0) { |
1056 | dput(dentry); | 1056 | dput(dentry); |
@@ -1158,7 +1158,7 @@ static int lookup_fast(struct nameidata *nd, struct qstr *name, | |||
1158 | if (unlikely(d_need_lookup(dentry))) | 1158 | if (unlikely(d_need_lookup(dentry))) |
1159 | goto unlazy; | 1159 | goto unlazy; |
1160 | if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE)) { | 1160 | if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE)) { |
1161 | status = d_revalidate(dentry, nd); | 1161 | status = d_revalidate(dentry, nd->flags); |
1162 | if (unlikely(status <= 0)) { | 1162 | if (unlikely(status <= 0)) { |
1163 | if (status != -ECHILD) | 1163 | if (status != -ECHILD) |
1164 | need_reval = 0; | 1164 | need_reval = 0; |
@@ -1188,7 +1188,7 @@ unlazy: | |||
1188 | } | 1188 | } |
1189 | 1189 | ||
1190 | if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE) && need_reval) | 1190 | if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE) && need_reval) |
1191 | status = d_revalidate(dentry, nd); | 1191 | status = d_revalidate(dentry, nd->flags); |
1192 | if (unlikely(status <= 0)) { | 1192 | if (unlikely(status <= 0)) { |
1193 | if (status < 0) { | 1193 | if (status < 0) { |
1194 | dput(dentry); | 1194 | dput(dentry); |