diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2014-02-21 21:55:33 +0000 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2014-02-24 19:49:12 +0000 |
commit | 022ef4feed0c648aeb72d0c8ad06d266de08f525 (patch) | |
tree | 03fd8c0fe847338bcf2772a469c9eaa1853d8a9d /fs/gfs2/meta_io.c | |
parent | d69a3c6561362a53d1be908ca343d899161d602c (diff) | |
download | linux-022ef4feed0c648aeb72d0c8ad06d266de08f525.tar.gz linux-022ef4feed0c648aeb72d0c8ad06d266de08f525.tar.bz2 linux-022ef4feed0c648aeb72d0c8ad06d266de08f525.zip |
GFS2: Move log buffer accounting to transaction
Now we have a master transaction into which other transactions
are merged, the accounting can be done using this master
transaction. We no longer require the superblock fields which
were being used for this function.
In addition, this allows for a clean up in calc_reserved()
making it rather easier understand. Also, by reducing the
number of variables used to track the buffers being added
and removed from the journal, a number of error checks are
now no longer required.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/meta_io.c')
-rw-r--r-- | fs/gfs2/meta_io.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c index c7f24690ed05..005e4686af0d 100644 --- a/fs/gfs2/meta_io.c +++ b/fs/gfs2/meta_io.c @@ -267,15 +267,10 @@ void gfs2_remove_from_journal(struct buffer_head *bh, struct gfs2_trans *tr, int trace_gfs2_pin(bd, 0); atomic_dec(&sdp->sd_log_pinned); list_del_init(&bd->bd_list); - if (meta) { - gfs2_assert_warn(sdp, sdp->sd_log_num_buf); - sdp->sd_log_num_buf--; + if (meta) tr->tr_num_buf_rm++; - } else { - gfs2_assert_warn(sdp, sdp->sd_log_num_databuf); - sdp->sd_log_num_databuf--; + else tr->tr_num_databuf_rm++; - } tr->tr_touched = 1; was_pinned = 1; brelse(bh); |