aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/bmap.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2012-12-14 07:36:02 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2013-01-29 05:28:04 -0500
commit350a9b0a7269c6f4b99eca34d0e773c3c2072520 (patch)
tree2cb52b2c5a5b5da1a1a07ef50be4bf0598cdb407 /fs/gfs2/bmap.c
parent75f2b879aeb3158daf6aa95d135803f7e71df06b (diff)
GFS2: Split gfs2_trans_add_bh() into two
There is little common content in gfs2_trans_add_bh() between the data and meta classes by the time that the functions which it calls are taken into account. The intent here is to split this into two separate functions. Stage one is to introduce gfs2_trans_add_data() and gfs2_trans_add_meta() and update the callers accordingly. Later patches will then pull in the content of gfs2_trans_add_bh() and its dependent functions in order to clean up the code in this area. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/bmap.c')
-rw-r--r--fs/gfs2/bmap.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c
index a68e91bcef3d..7a8627569a25 100644
--- a/fs/gfs2/bmap.c
+++ b/fs/gfs2/bmap.c
@@ -93,7 +93,7 @@ static int gfs2_unstuffer_page(struct gfs2_inode *ip, struct buffer_head *dibh,
93 if (!gfs2_is_jdata(ip)) 93 if (!gfs2_is_jdata(ip))
94 mark_buffer_dirty(bh); 94 mark_buffer_dirty(bh);
95 if (!gfs2_is_writeback(ip)) 95 if (!gfs2_is_writeback(ip))
96 gfs2_trans_add_bh(ip->i_gl, bh, 0); 96 gfs2_trans_add_data(ip->i_gl, bh);
97 97
98 if (release) { 98 if (release) {
99 unlock_page(page); 99 unlock_page(page);
@@ -153,7 +153,7 @@ int gfs2_unstuff_dinode(struct gfs2_inode *ip, struct page *page)
153 153
154 /* Set up the pointer to the new block */ 154 /* Set up the pointer to the new block */
155 155
156 gfs2_trans_add_bh(ip->i_gl, dibh, 1); 156 gfs2_trans_add_meta(ip->i_gl, dibh);
157 di = (struct gfs2_dinode *)dibh->b_data; 157 di = (struct gfs2_dinode *)dibh->b_data;
158 gfs2_buffer_clear_tail(dibh, sizeof(struct gfs2_dinode)); 158 gfs2_buffer_clear_tail(dibh, sizeof(struct gfs2_dinode));
159 159
@@ -405,7 +405,7 @@ static inline __be64 *gfs2_indirect_init(struct metapath *mp,
405 BUG_ON(i < 1); 405 BUG_ON(i < 1);
406 BUG_ON(mp->mp_bh[i] != NULL); 406 BUG_ON(mp->mp_bh[i] != NULL);
407 mp->mp_bh[i] = gfs2_meta_new(gl, bn); 407 mp->mp_bh[i] = gfs2_meta_new(gl, bn);
408 gfs2_trans_add_bh(gl, mp->mp_bh[i], 1); 408 gfs2_trans_add_meta(gl, mp->mp_bh[i]);
409 gfs2_metatype_set(mp->mp_bh[i], GFS2_METATYPE_IN, GFS2_FORMAT_IN); 409 gfs2_metatype_set(mp->mp_bh[i], GFS2_METATYPE_IN, GFS2_FORMAT_IN);
410 gfs2_buffer_clear_tail(mp->mp_bh[i], sizeof(struct gfs2_meta_header)); 410 gfs2_buffer_clear_tail(mp->mp_bh[i], sizeof(struct gfs2_meta_header));
411 ptr += offset; 411 ptr += offset;
@@ -468,7 +468,7 @@ static int gfs2_bmap_alloc(struct inode *inode, const sector_t lblock,
468 BUG_ON(sheight < 1); 468 BUG_ON(sheight < 1);
469 BUG_ON(dibh == NULL); 469 BUG_ON(dibh == NULL);
470 470
471 gfs2_trans_add_bh(ip->i_gl, dibh, 1); 471 gfs2_trans_add_meta(ip->i_gl, dibh);
472 472
473 if (height == sheight) { 473 if (height == sheight) {
474 struct buffer_head *bh; 474 struct buffer_head *bh;
@@ -544,7 +544,7 @@ static int gfs2_bmap_alloc(struct inode *inode, const sector_t lblock,
544 /* Branching from existing tree */ 544 /* Branching from existing tree */
545 case ALLOC_GROW_DEPTH: 545 case ALLOC_GROW_DEPTH:
546 if (i > 1 && i < height) 546 if (i > 1 && i < height)
547 gfs2_trans_add_bh(ip->i_gl, mp->mp_bh[i-1], 1); 547 gfs2_trans_add_meta(ip->i_gl, mp->mp_bh[i-1]);
548 for (; i < height && n > 0; i++, n--) 548 for (; i < height && n > 0; i++, n--)
549 gfs2_indirect_init(mp, ip->i_gl, i, 549 gfs2_indirect_init(mp, ip->i_gl, i,
550 mp->mp_list[i-1], bn++); 550 mp->mp_list[i-1], bn++);
@@ -556,7 +556,7 @@ static int gfs2_bmap_alloc(struct inode *inode, const sector_t lblock,
556 case ALLOC_DATA: 556 case ALLOC_DATA:
557 BUG_ON(n > dblks); 557 BUG_ON(n > dblks);
558 BUG_ON(mp->mp_bh[end_of_metadata] == NULL); 558 BUG_ON(mp->mp_bh[end_of_metadata] == NULL);
559 gfs2_trans_add_bh(ip->i_gl, mp->mp_bh[end_of_metadata], 1); 559 gfs2_trans_add_meta(ip->i_gl, mp->mp_bh[end_of_metadata]);
560 dblks = n; 560 dblks = n;
561 ptr = metapointer(end_of_metadata, mp); 561 ptr = metapointer(end_of_metadata, mp);
562 dblock = bn; 562 dblock = bn;
@@ -796,8 +796,8 @@ static int do_strip(struct gfs2_inode *ip, struct buffer_head *dibh,
796 796
797 down_write(&ip->i_rw_mutex); 797 down_write(&ip->i_rw_mutex);
798 798
799 gfs2_trans_add_bh(ip->i_gl, dibh, 1); 799 gfs2_trans_add_meta(ip->i_gl, dibh);
800 gfs2_trans_add_bh(ip->i_gl, bh, 1); 800 gfs2_trans_add_meta(ip->i_gl, bh);
801 801
802 bstart = 0; 802 bstart = 0;
803 blen = 0; 803 blen = 0;
@@ -981,7 +981,7 @@ static int gfs2_block_truncate_page(struct address_space *mapping, loff_t from)
981 } 981 }
982 982
983 if (!gfs2_is_writeback(ip)) 983 if (!gfs2_is_writeback(ip))
984 gfs2_trans_add_bh(ip->i_gl, bh, 0); 984 gfs2_trans_add_data(ip->i_gl, bh);
985 985
986 zero_user(page, offset, length); 986 zero_user(page, offset, length);
987 mark_buffer_dirty(bh); 987 mark_buffer_dirty(bh);
@@ -1046,7 +1046,7 @@ static int trunc_start(struct inode *inode, u64 oldsize, u64 newsize)
1046 if (error) 1046 if (error)
1047 goto out; 1047 goto out;
1048 1048
1049 gfs2_trans_add_bh(ip->i_gl, dibh, 1); 1049 gfs2_trans_add_meta(ip->i_gl, dibh);
1050 1050
1051 if (gfs2_is_stuffed(ip)) { 1051 if (gfs2_is_stuffed(ip)) {
1052 gfs2_buffer_clear_tail(dibh, sizeof(struct gfs2_dinode) + newsize); 1052 gfs2_buffer_clear_tail(dibh, sizeof(struct gfs2_dinode) + newsize);
@@ -1141,7 +1141,7 @@ static int trunc_end(struct gfs2_inode *ip)
1141 ip->i_inode.i_mtime = ip->i_inode.i_ctime = CURRENT_TIME; 1141 ip->i_inode.i_mtime = ip->i_inode.i_ctime = CURRENT_TIME;
1142 ip->i_diskflags &= ~GFS2_DIF_TRUNC_IN_PROG; 1142 ip->i_diskflags &= ~GFS2_DIF_TRUNC_IN_PROG;
1143 1143
1144 gfs2_trans_add_bh(ip->i_gl, dibh, 1); 1144 gfs2_trans_add_meta(ip->i_gl, dibh);
1145 gfs2_dinode_out(ip, dibh->b_data); 1145 gfs2_dinode_out(ip, dibh->b_data);
1146 brelse(dibh); 1146 brelse(dibh);
1147 1147
@@ -1246,7 +1246,7 @@ static int do_grow(struct inode *inode, u64 size)
1246 1246
1247 i_size_write(inode, size); 1247 i_size_write(inode, size);
1248 ip->i_inode.i_mtime = ip->i_inode.i_ctime = CURRENT_TIME; 1248 ip->i_inode.i_mtime = ip->i_inode.i_ctime = CURRENT_TIME;
1249 gfs2_trans_add_bh(ip->i_gl, dibh, 1); 1249 gfs2_trans_add_meta(ip->i_gl, dibh);
1250 gfs2_dinode_out(ip, dibh->b_data); 1250 gfs2_dinode_out(ip, dibh->b_data);
1251 brelse(dibh); 1251 brelse(dibh);
1252 1252