diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-08-07 01:41:50 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-08-07 01:52:40 -0400 |
| commit | 830c0f0edca67403d361fe976a25b17356c11f19 (patch) | |
| tree | b4bfc71ab9aaff0e8b65403c319dde519dd6f9ef | |
| parent | 7cd4767e696123cdb7447fbd7c281eb8c610c8e4 (diff) | |
vfs: renumber DCACHE_xyz flags, remove some stale ones
Gcc tends to generate better code with small integers, including the
DCACHE_xyz flag tests - so move the common ones to be first in the list.
Also just remove the unused DCACHE_INOTIFY_PARENT_WATCHED and
DCACHE_AUTOFS_PENDING values, their users no longer exists in the source
tree.
And add a "unlikely()" to the DCACHE_OP_COMPARE test, since we want the
common case to be a nice straight-line fall-through.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| -rw-r--r-- | fs/dcache.c | 2 | ||||
| -rw-r--r-- | include/linux/dcache.h | 30 |
2 files changed, 14 insertions, 18 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index c83cae19161e..a88948b8bd17 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
| @@ -1729,7 +1729,7 @@ seqretry: | |||
| 1729 | */ | 1729 | */ |
| 1730 | if (read_seqcount_retry(&dentry->d_seq, *seq)) | 1730 | if (read_seqcount_retry(&dentry->d_seq, *seq)) |
| 1731 | goto seqretry; | 1731 | goto seqretry; |
| 1732 | if (parent->d_flags & DCACHE_OP_COMPARE) { | 1732 | if (unlikely(parent->d_flags & DCACHE_OP_COMPARE)) { |
| 1733 | if (parent->d_op->d_compare(parent, *inode, | 1733 | if (parent->d_op->d_compare(parent, *inode, |
| 1734 | dentry, i, | 1734 | dentry, i, |
| 1735 | tlen, tname, name)) | 1735 | tlen, tname, name)) |
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index d37d2a793099..62157c03caf7 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
| @@ -180,12 +180,12 @@ struct dentry_operations { | |||
| 180 | */ | 180 | */ |
| 181 | 181 | ||
| 182 | /* d_flags entries */ | 182 | /* d_flags entries */ |
| 183 | #define DCACHE_AUTOFS_PENDING 0x0001 /* autofs: "under construction" */ | 183 | #define DCACHE_OP_HASH 0x0001 |
| 184 | #define DCACHE_NFSFS_RENAMED 0x0002 | 184 | #define DCACHE_OP_COMPARE 0x0002 |
| 185 | /* this dentry has been "silly renamed" and has to be deleted on the last | 185 | #define DCACHE_OP_REVALIDATE 0x0004 |
| 186 | * dput() */ | 186 | #define DCACHE_OP_DELETE 0x0008 |
| 187 | 187 | ||
| 188 | #define DCACHE_DISCONNECTED 0x0004 | 188 | #define DCACHE_DISCONNECTED 0x0010 |
| 189 | /* This dentry is possibly not currently connected to the dcache tree, in | 189 | /* This dentry is possibly not currently connected to the dcache tree, in |
| 190 | * which case its parent will either be itself, or will have this flag as | 190 | * which case its parent will either be itself, or will have this flag as |
| 191 | * well. nfsd will not use a dentry with this bit set, but will first | 191 | * well. nfsd will not use a dentry with this bit set, but will first |
| @@ -196,22 +196,18 @@ struct dentry_operations { | |||
| 196 | * dentry into place and return that dentry rather than the passed one, | 196 | * dentry into place and return that dentry rather than the passed one, |
| 197 | * typically using d_splice_alias. */ | 197 | * typically using d_splice_alias. */ |
| 198 | 198 | ||
| 199 | #define DCACHE_REFERENCED 0x0008 /* Recently used, don't discard. */ | 199 | #define DCACHE_REFERENCED 0x0020 /* Recently used, don't discard. */ |
| 200 | #define DCACHE_RCUACCESS 0x0010 /* Entry has ever been RCU-visible */ | 200 | #define DCACHE_RCUACCESS 0x0040 /* Entry has ever been RCU-visible */ |
| 201 | #define DCACHE_INOTIFY_PARENT_WATCHED 0x0020 | ||
| 202 | /* Parent inode is watched by inotify */ | ||
| 203 | |||
| 204 | #define DCACHE_COOKIE 0x0040 /* For use by dcookie subsystem */ | ||
| 205 | #define DCACHE_FSNOTIFY_PARENT_WATCHED 0x0080 | ||
| 206 | /* Parent inode is watched by some fsnotify listener */ | ||
| 207 | 201 | ||
| 208 | #define DCACHE_CANT_MOUNT 0x0100 | 202 | #define DCACHE_CANT_MOUNT 0x0100 |
| 209 | #define DCACHE_GENOCIDE 0x0200 | 203 | #define DCACHE_GENOCIDE 0x0200 |
| 210 | 204 | ||
| 211 | #define DCACHE_OP_HASH 0x1000 | 205 | #define DCACHE_NFSFS_RENAMED 0x1000 |
| 212 | #define DCACHE_OP_COMPARE 0x2000 | 206 | /* this dentry has been "silly renamed" and has to be deleted on the last |
| 213 | #define DCACHE_OP_REVALIDATE 0x4000 | 207 | * dput() */ |
| 214 | #define DCACHE_OP_DELETE 0x8000 | 208 | #define DCACHE_COOKIE 0x2000 /* For use by dcookie subsystem */ |
| 209 | #define DCACHE_FSNOTIFY_PARENT_WATCHED 0x4000 | ||
| 210 | /* Parent inode is watched by some fsnotify listener */ | ||
| 215 | 211 | ||
| 216 | #define DCACHE_MOUNTED 0x10000 /* is a mountpoint */ | 212 | #define DCACHE_MOUNTED 0x10000 /* is a mountpoint */ |
| 217 | #define DCACHE_NEED_AUTOMOUNT 0x20000 /* handle automount on this dir */ | 213 | #define DCACHE_NEED_AUTOMOUNT 0x20000 /* handle automount on this dir */ |
