diff options
author | Goldwyn Rodrigues <rgoldwyn@gmail.com> | 2010-06-28 10:04:32 -0500 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2010-09-10 09:18:15 -0700 |
commit | 5e98d492406818e6a94c0ba54c61f59d40cefa4a (patch) | |
tree | 9eec0813194dd2192f6ae05d2f344e7839d2ab44 /fs/ocfs2/inode.h | |
parent | b4d693fcc5fe99ed211addb5c6a0f8398f0b266e (diff) | |
download | linux-stable-5e98d492406818e6a94c0ba54c61f59d40cefa4a.tar.gz linux-stable-5e98d492406818e6a94c0ba54c61f59d40cefa4a.tar.bz2 linux-stable-5e98d492406818e6a94c0ba54c61f59d40cefa4a.zip |
Track negative entries v3
Track negative dentries by recording the generation number of the parent
directory in d_fsdata. The generation number for the parent directory is
recorded in the inode_info, which increments every time the lock on the
directory is dropped.
If the generation number of the parent directory and the negative dentry
matches, there is no need to perform the revalidate, else a revalidate
is forced. This improves performance in situations where nodes look for
the same non-existent file multiple times.
Thanks Mark for explaining the DLM sequence.
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.de>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2/inode.h')
-rw-r--r-- | fs/ocfs2/inode.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h index 0bc477a3aeb8..1c508b149b3a 100644 --- a/fs/ocfs2/inode.h +++ b/fs/ocfs2/inode.h @@ -67,6 +67,7 @@ struct ocfs2_inode_info /* Only valid if the inode is the dir. */ u32 ip_last_used_slot; u64 ip_last_used_group; + u32 ip_dir_lock_gen; struct ocfs2_alloc_reservation ip_la_data_resv; }; |