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 | op-kernel-dev-022ef4feed0c648aeb72d0c8ad06d266de08f525.zip op-kernel-dev-022ef4feed0c648aeb72d0c8ad06d266de08f525.tar.gz |
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 c7f2469..005e4686 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); |