aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorNick Piggin <npiggin@kernel.dk>2011-01-07 01:49:23 -0500
committerNick Piggin <npiggin@kernel.dk>2011-01-07 01:50:18 -0500
commitfe15ce446beb3a33583af81ffe6c9d01a75314ed (patch)
treebc8af66b6dd2d0f21a2a3f48a19975ae2cdbae4e /include/linux
parent5eef7fa905c814826f518aca2d414ca77508ce30 (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 'include/linux')
-rw-r--r--include/linux/dcache.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index fff975576b5b..cbfc9567e4e9 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -133,9 +133,9 @@ enum dentry_d_lock_class
133 133
134struct dentry_operations { 134struct dentry_operations {
135 int (*d_revalidate)(struct dentry *, struct nameidata *); 135 int (*d_revalidate)(struct dentry *, struct nameidata *);
136 int (*d_hash) (struct dentry *, struct qstr *); 136 int (*d_hash)(struct dentry *, struct qstr *);
137 int (*d_compare) (struct dentry *, struct qstr *, struct qstr *); 137 int (*d_compare)(struct dentry *, struct qstr *, struct qstr *);
138 int (*d_delete)(struct dentry *); 138 int (*d_delete)(const struct dentry *);
139 void (*d_release)(struct dentry *); 139 void (*d_release)(struct dentry *);
140 void (*d_iput)(struct dentry *, struct inode *); 140 void (*d_iput)(struct dentry *, struct inode *);
141 char *(*d_dname)(struct dentry *, char *, int); 141 char *(*d_dname)(struct dentry *, char *, int);