|
@@ -542,7 +542,7 @@ EXPORT_SYMBOL(d_drop);
|
|
|
* If ref is non-zero, then decrement the refcount too.
|
|
|
* Returns dentry requiring refcount drop, or NULL if we're done.
|
|
|
*/
|
|
|
-static inline struct dentry *
|
|
|
+static struct dentry *
|
|
|
dentry_kill(struct dentry *dentry, int unlock_on_failure)
|
|
|
__releases(dentry->d_lock)
|
|
|
{
|
|
@@ -630,7 +630,8 @@ repeat:
|
|
|
goto kill_it;
|
|
|
}
|
|
|
|
|
|
- dentry->d_flags |= DCACHE_REFERENCED;
|
|
|
+ if (!(dentry->d_flags & DCACHE_REFERENCED))
|
|
|
+ dentry->d_flags |= DCACHE_REFERENCED;
|
|
|
dentry_lru_add(dentry);
|
|
|
|
|
|
dentry->d_lockref.count--;
|