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/ncpfs | |
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/ncpfs')
-rw-r--r-- | fs/ncpfs/dir.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c index f22b12e7d33..d6e6453881c 100644 --- a/fs/ncpfs/dir.c +++ b/fs/ncpfs/dir.c | |||
@@ -76,7 +76,7 @@ const struct inode_operations ncp_dir_inode_operations = | |||
76 | static int ncp_lookup_validate(struct dentry *, struct nameidata *); | 76 | static int ncp_lookup_validate(struct dentry *, struct nameidata *); |
77 | static int ncp_hash_dentry(struct dentry *, struct qstr *); | 77 | static int ncp_hash_dentry(struct dentry *, struct qstr *); |
78 | static int ncp_compare_dentry (struct dentry *, struct qstr *, struct qstr *); | 78 | static int ncp_compare_dentry (struct dentry *, struct qstr *, struct qstr *); |
79 | static int ncp_delete_dentry(struct dentry *); | 79 | static int ncp_delete_dentry(const struct dentry *); |
80 | 80 | ||
81 | static const struct dentry_operations ncp_dentry_operations = | 81 | static const struct dentry_operations ncp_dentry_operations = |
82 | { | 82 | { |
@@ -162,7 +162,7 @@ ncp_compare_dentry(struct dentry *dentry, struct qstr *a, struct qstr *b) | |||
162 | * Closing files can be safely postponed until iput() - it's done there anyway. | 162 | * Closing files can be safely postponed until iput() - it's done there anyway. |
163 | */ | 163 | */ |
164 | static int | 164 | static int |
165 | ncp_delete_dentry(struct dentry * dentry) | 165 | ncp_delete_dentry(const struct dentry * dentry) |
166 | { | 166 | { |
167 | struct inode *inode = dentry->d_inode; | 167 | struct inode *inode = dentry->d_inode; |
168 | 168 | ||