|
@@ -1181,7 +1181,6 @@ retry:
|
|
return PTR_ERR(dentry);
|
|
return PTR_ERR(dentry);
|
|
}
|
|
}
|
|
/* known good */
|
|
/* known good */
|
|
- need_reval = 0;
|
|
|
|
status = 1;
|
|
status = 1;
|
|
} else if (unlikely(d_need_lookup(dentry))) {
|
|
} else if (unlikely(d_need_lookup(dentry))) {
|
|
dentry = d_inode_lookup(parent, dentry, nd);
|
|
dentry = d_inode_lookup(parent, dentry, nd);
|
|
@@ -1190,10 +1189,8 @@ retry:
|
|
return PTR_ERR(dentry);
|
|
return PTR_ERR(dentry);
|
|
}
|
|
}
|
|
/* known good */
|
|
/* known good */
|
|
- need_reval = 0;
|
|
|
|
status = 1;
|
|
status = 1;
|
|
- }
|
|
|
|
- if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE) && need_reval)
|
|
|
|
|
|
+ } else if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE))
|
|
status = d_revalidate(dentry, nd);
|
|
status = d_revalidate(dentry, nd);
|
|
if (unlikely(status <= 0)) {
|
|
if (unlikely(status <= 0)) {
|
|
if (status < 0) {
|
|
if (status < 0) {
|
|
@@ -1209,7 +1206,6 @@ retry:
|
|
return PTR_ERR(dentry);
|
|
return PTR_ERR(dentry);
|
|
}
|
|
}
|
|
/* known good */
|
|
/* known good */
|
|
- need_reval = 0;
|
|
|
|
status = 1;
|
|
status = 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1226,7 +1222,6 @@ retry:
|
|
if (!d_invalidate(dentry)) {
|
|
if (!d_invalidate(dentry)) {
|
|
dput(dentry);
|
|
dput(dentry);
|
|
dentry = NULL;
|
|
dentry = NULL;
|
|
- need_reval = 1;
|
|
|
|
goto retry;
|
|
goto retry;
|
|
}
|
|
}
|
|
}
|
|
}
|