GFS2: Refactor gfs2_remove_from_journal
authorBob Peterson <rpeterso@redhat.com>
Mon, 2 May 2016 16:53:35 +0000 (11:53 -0500)
committerBob Peterson <rpeterso@redhat.com>
Fri, 6 May 2016 16:27:27 +0000 (11:27 -0500)
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.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Acked-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/aops.c
fs/gfs2/meta_io.c
fs/gfs2/meta_io.h

index 58dd0061134bc5fcd31ed4bf15e35f7baae674b4..e21a931ced532d6dbe031ee74028eddcec55a383 100644 (file)
@@ -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);
index e137d96f1b17bc1e4250bb0153109be757660c86..8f3f1b863687c4f78d8601ffdb20a4da64d544e9 100644 (file)
@@ -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);
index c5086c8af5ed41101aae337bfc2c02a5ffe686e8..ffdf6aa3509d59f289361da3f6005c20282c8594 100644 (file)
@@ -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);