diff options
author | Jan Kara <jack@suse.cz> | 2010-04-28 19:04:29 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2010-05-21 19:30:46 +0200 |
commit | ae4f6ef13417deaa49471c0e903914a3ef3be258 (patch) | |
tree | b8ba5499a8ad69678a232ece4d64d18447063054 /fs/ocfs2/dlmglue.c | |
parent | ocfs2: Do not map blocks from local quota file on each write (diff) | |
download | linux-ae4f6ef13417deaa49471c0e903914a3ef3be258.tar.xz linux-ae4f6ef13417deaa49471c0e903914a3ef3be258.zip |
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/dlmglue.c')
-rw-r--r-- | fs/ocfs2/dlmglue.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c index 50c4ee805da4..39eb16ac5f98 100644 --- a/fs/ocfs2/dlmglue.c +++ b/fs/ocfs2/dlmglue.c @@ -3897,7 +3897,8 @@ static int ocfs2_refresh_qinfo(struct ocfs2_mem_dqinfo *oinfo) oinfo->dqi_gi.dqi_free_entry = be32_to_cpu(lvb->lvb_free_entry); } else { - status = ocfs2_read_quota_block(oinfo->dqi_gqinode, 0, &bh); + status = ocfs2_read_quota_phys_block(oinfo->dqi_gqinode, + oinfo->dqi_giblk, &bh); if (status) { mlog_errno(status); goto bail; |