aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/quota.h
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2010-04-28 19:04:29 +0200
committerJan Kara <jack@suse.cz>2010-05-21 19:30:46 +0200
commitae4f6ef13417deaa49471c0e903914a3ef3be258 (patch)
treeb8ba5499a8ad69678a232ece4d64d18447063054 /fs/ocfs2/quota.h
parentf64dd44eb748438783b10b3f7a4968d2656a3c95 (diff)
downloadkernel_samsung_smdk4412-ae4f6ef13417deaa49471c0e903914a3ef3be258.zip
kernel_samsung_smdk4412-ae4f6ef13417deaa49471c0e903914a3ef3be258.tar.gz
kernel_samsung_smdk4412-ae4f6ef13417deaa49471c0e903914a3ef3be258.tar.bz2
ocfs2: Avoid unnecessary block mapping when refreshing quota info
The position of global quota file info does not change. So we do not have to do logical -> physical block translation every time we reread it from disk. Thus we can also avoid taking ip_alloc_sem. Acked-by: Joel Becker <Joel.Becker@oracle.com> Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/ocfs2/quota.h')
-rw-r--r--fs/ocfs2/quota.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ocfs2/quota.h b/fs/ocfs2/quota.h
index e22d293..c762343 100644
--- a/fs/ocfs2/quota.h
+++ b/fs/ocfs2/quota.h
@@ -52,8 +52,9 @@ struct ocfs2_mem_dqinfo {
struct ocfs2_lock_res dqi_gqlock; /* Lock protecting quota information structure */
struct buffer_head *dqi_gqi_bh; /* Buffer head with global quota file inode - set only if inode lock is obtained */
int dqi_gqi_count; /* Number of holders of dqi_gqi_bh */
+ u64 dqi_giblk; /* Number of block with global information header */
struct buffer_head *dqi_lqi_bh; /* Buffer head with local quota file inode */
- struct buffer_head *dqi_ibh; /* Buffer with information header */
+ struct buffer_head *dqi_libh; /* Buffer with local information header */
struct qtree_mem_dqinfo dqi_gi; /* Info about global file */
struct delayed_work dqi_sync_work; /* Work for syncing dquots */
struct ocfs2_quota_recovery *dqi_rec; /* Pointer to recovery