GFS2: Refactor gfs2_remove_from_journal
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/1 GFS2: Refactor gfs2_remove_from_journal
Hi,
This patch makes two simple changes to function gfs2_remove_from_journal. First, it removes the parameter that specifies the transaction. Since it's always passed in as current->journal_info, we might as well set that in the function rather than passing it in. Second, it changes the meta parameter to use an enum to make the code more clear.
---
fs/gfs2/aops.c +1 -1
@@ -977,7 +977,7 @@ static void gfs2_discard(struct gfs2_sbd *sdp, struct buffer_head *bh)if (!list_empty (&bd->bd_list) && !buffer_pinned (bh))list_del_init (&bd->bd_list);else -gfs2_remove_from_journal (bh, current->journal_info,0 ); +gfs2_remove_from_journal (bh,REMOVE_JDATA ); } bh->b_bdev =NULL ;clear_buffer_mapped (bh);
fs/gfs2/meta_io.c +4 -3
@@ -325,18 +325,19 @@ int gfs2_meta_wait(struct gfs2_sbd *sdp, struct buffer_head *bh)return 0 ; } -void gfs2_remove_from_journal (struct buffer_head *bh,struct gfs2_trans *tr,int meta) +void gfs2_remove_from_journal (struct buffer_head *bh,int meta) {struct address_space *mapping = bh->b_page->mapping;struct gfs2_sbd *sdp =gfs2_mapping2sbd (mapping);struct gfs2_bufdata *bd = bh->b_private; +struct gfs2_trans *tr = current->journal_info;int was_pinned =0 ;if (test_clear_buffer_pinned (bh)) {trace_gfs2_pin (bd,0 );atomic_dec (&sdp->sd_log_pinned);list_del_init (&bd->bd_list); -if (meta) +if (meta ==REMOVE_META ) tr->tr_num_buf_rm++;else tr->tr_num_databuf_rm++;
@@ -376,7 +377,7 @@ void gfs2_meta_wipe(struct gfs2_inode *ip, u64 bstart, u32 blen)if (bh) {lock_buffer (bh);gfs2_log_lock (sdp); -gfs2_remove_from_journal (bh, current->journal_info,1 ); +gfs2_remove_from_journal (bh,REMOVE_META );gfs2_log_unlock (sdp);unlock_buffer (bh);brelse (bh);
fs/gfs2/meta_io.h +6 -2
@@ -57,8 +57,12 @@ extern int gfs2_meta_read(struct gfs2_glock *gl, u64 blkno, int flags,extern int gfs2_meta_wait (struct gfs2_sbd *sdp,struct buffer_head *bh);extern struct buffer_head *gfs2_getbuf (struct gfs2_glock *gl,u64 blkno,int create); -extern void gfs2_remove_from_journal (struct buffer_head *bh, -struct gfs2_trans *tr,int meta); +enum { +REMOVE_JDATA =0 , +REMOVE_META =1 , +}; + +extern void gfs2_remove_from_journal (struct buffer_head *bh,int meta);extern void gfs2_meta_wipe (struct gfs2_inode *ip,u64 bstart,u32 blen);extern int gfs2_meta_indirect_buffer (struct gfs2_inode *ip,int height,u64 num,struct buffer_head **bhp);
PATCH 1/1 GFS2: Refactor gfs2_remove_from_journal
Hi,
Quoted 9 lines · Bob Peterson
Hi,
This patch makes two simple changes to function
gfs2_remove_from_journal. First, it removes the parameter that specifies the transaction. Since it's always passed in ascurrent->journal_info, we might as well set that in the function rather than passing it in. Second, it changes the meta parameter to use an enum to make the code more clear.Signed-off-by Bob Peterson <[email protected]>
Looks good to me.
Steve.
Quoted 69 lines
---
fs/gfs2/aops.c +1
-1@@ -977,7 +977,7 @@ static void gfs2_discard(struct gfs2_sbd *sdp, struct buffer_head *bh)if (!list_empty (&bd->bd_list) && !buffer_pinned (bh))list_del_init (&bd->bd_list);else -gfs2_remove_from_journal (bh, current->journal_info,0 ); +gfs2_remove_from_journal (bh,REMOVE_JDATA ); } bh->b_bdev =NULL ;clear_buffer_mapped (bh);fs/gfs2/meta_io.c +4
-3@@ -325,18 +325,19 @@ int gfs2_meta_wait(struct gfs2_sbd *sdp, struct buffer_head *bh)return 0 ; } -void gfs2_remove_from_journal (struct buffer_head *bh,struct gfs2_trans *tr,int meta) +void gfs2_remove_from_journal (struct buffer_head *bh,int meta) {struct address_space *mapping = bh->b_page->mapping;struct gfs2_sbd *sdp =gfs2_mapping2sbd (mapping);struct gfs2_bufdata *bd = bh->b_private; +struct gfs2_trans *tr = current->journal_info;int was_pinned =0 ;if (test_clear_buffer_pinned (bh)) {trace_gfs2_pin (bd,0 );atomic_dec (&sdp->sd_log_pinned);list_del_init (&bd->bd_list); -if (meta) +if (meta ==REMOVE_META ) tr->tr_num_buf_rm++;else tr->tr_num_databuf_rm++;@@ -376,7 +377,7 @@ void gfs2_meta_wipe(struct gfs2_inode *ip, u64 bstart, u32 blen)if (bh) {lock_buffer (bh);gfs2_log_lock (sdp); -gfs2_remove_from_journal (bh, current->journal_info,1 ); +gfs2_remove_from_journal (bh,REMOVE_META );gfs2_log_unlock (sdp);unlock_buffer (bh);brelse (bh);fs/gfs2/meta_io.h +6
-2@@ -57,8 +57,12 @@ extern int gfs2_meta_read(struct gfs2_glock *gl, u64 blkno, int flags,extern int gfs2_meta_wait (struct gfs2_sbd *sdp,struct buffer_head *bh);extern struct buffer_head *gfs2_getbuf (struct gfs2_glock *gl,u64 blkno,int create); -extern void gfs2_remove_from_journal (struct buffer_head *bh, -struct gfs2_trans *tr,int meta); +enum { +REMOVE_JDATA =0 , +REMOVE_META =1 , +}; + +extern void gfs2_remove_from_journal (struct buffer_head *bh,int meta);extern void gfs2_meta_wipe (struct gfs2_inode *ip,u64 bstart,u32 blen);extern int gfs2_meta_indirect_buffer (struct gfs2_inode *ip,int height,u64 num,struct buffer_head **bhp);