diff options
author | Nick Piggin <npiggin@kernel.dk> | 2011-01-07 01:49:23 -0500 |
---|---|---|
committer | Nick Piggin <npiggin@kernel.dk> | 2011-01-07 01:50:18 -0500 |
commit | fe15ce446beb3a33583af81ffe6c9d01a75314ed (patch) | |
tree | bc8af66b6dd2d0f21a2a3f48a19975ae2cdbae4e /fs/dcache.c | |
parent | 5eef7fa905c814826f518aca2d414ca77508ce30 (diff) |
fs: change d_delete semantics
Change d_delete from a dentry deletion notification to a dentry caching
advise, more like ->drop_inode. Require it to be constant and idempotent,
and not take d_lock. This is how all existing filesystems use the callback
anyway.
This makes fine grained dentry locking of dput and dentry lru scanning
much simpler.
Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Diffstat (limited to 'fs/dcache.c')
-rw-r--r-- | fs/dcache.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index b2cb2662ca00..6ee6bc40cb63 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -453,8 +453,6 @@ static void prune_one_dentry(struct dentry * dentry) | |||
453 | if (!atomic_dec_and_lock(&dentry->d_count, &dentry->d_lock)) | 453 | if (!atomic_dec_and_lock(&dentry->d_count, &dentry->d_lock)) |
454 | return; | 454 | return; |
455 | 455 | ||
456 | if (dentry->d_op && dentry->d_op->d_delete) | ||
457 | dentry->d_op->d_delete(dentry); | ||
458 | dentry_lru_del(dentry); | 456 | dentry_lru_del(dentry); |
459 | __d_drop(dentry); | 457 | __d_drop(dentry); |
460 | dentry = d_kill(dentry); | 458 | dentry = d_kill(dentry); |