diff options
| author | Mark Fasheh <mfasheh@suse.com> | 2010-08-13 18:15:16 -0400 |
|---|---|---|
| committer | Tao Ma <tao.ma@oracle.com> | 2010-09-08 02:25:58 -0400 |
| commit | d51349829c378c06ba4aa7d4b16ca23739858608 (patch) | |
| tree | 972c0087222f803e7789a44e40e27585790333bf | |
| parent | 021960cab320ae3cc4e9aba9cca42f9f5ce785f3 (diff) | |
ocfs2: use ocfs2_alloc_dinode_update_counts() instead of open coding
ocfs2_search_chain() makes the same updates as
ocfs2_alloc_dinode_update_counts to the alloc inode. Instead of open coding
the bitmap update, use our helper function.
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Signed-off-by: Tao Ma <tao.ma@oracle.com>
| -rw-r--r-- | fs/ocfs2/suballoc.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/fs/ocfs2/suballoc.c b/fs/ocfs2/suballoc.c index b93d7e72175a..e7edda8c6a11 100644 --- a/fs/ocfs2/suballoc.c +++ b/fs/ocfs2/suballoc.c | |||
| @@ -1719,7 +1719,6 @@ static int ocfs2_search_chain(struct ocfs2_alloc_context *ac, | |||
| 1719 | { | 1719 | { |
| 1720 | int status; | 1720 | int status; |
| 1721 | u16 chain; | 1721 | u16 chain; |
| 1722 | u32 tmp_used; | ||
| 1723 | u64 next_group; | 1722 | u64 next_group; |
| 1724 | struct inode *alloc_inode = ac->ac_inode; | 1723 | struct inode *alloc_inode = ac->ac_inode; |
| 1725 | struct buffer_head *group_bh = NULL; | 1724 | struct buffer_head *group_bh = NULL; |
| @@ -1807,22 +1806,14 @@ static int ocfs2_search_chain(struct ocfs2_alloc_context *ac, | |||
| 1807 | } | 1806 | } |
| 1808 | } | 1807 | } |
| 1809 | 1808 | ||
| 1810 | /* Ok, claim our bits now: set the info on dinode, chainlist | 1809 | status = ocfs2_alloc_dinode_update_counts(alloc_inode, handle, |
| 1811 | * and then the group */ | 1810 | ac->ac_bh, res->sr_bits, |
| 1812 | status = ocfs2_journal_access_di(handle, | 1811 | chain); |
| 1813 | INODE_CACHE(alloc_inode), | 1812 | if (status) { |
| 1814 | ac->ac_bh, | ||
| 1815 | OCFS2_JOURNAL_ACCESS_WRITE); | ||
| 1816 | if (status < 0) { | ||
| 1817 | mlog_errno(status); | 1813 | mlog_errno(status); |
| 1818 | goto bail; | 1814 | goto bail; |
| 1819 | } | 1815 | } |
| 1820 | 1816 | ||
| 1821 | tmp_used = le32_to_cpu(fe->id1.bitmap1.i_used); | ||
| 1822 | fe->id1.bitmap1.i_used = cpu_to_le32(res->sr_bits + tmp_used); | ||
| 1823 | le32_add_cpu(&cl->cl_recs[chain].c_free, -res->sr_bits); | ||
| 1824 | ocfs2_journal_dirty(handle, ac->ac_bh); | ||
| 1825 | |||
| 1826 | status = ocfs2_block_group_set_bits(handle, | 1817 | status = ocfs2_block_group_set_bits(handle, |
| 1827 | alloc_inode, | 1818 | alloc_inode, |
| 1828 | bg, | 1819 | bg, |
