gfs2: Only use struct gfs2_rbm for bitmap manipulations
authorAndreas Gruenbacher <agruenba@redhat.com>
Thu, 11 Oct 2018 16:56:40 +0000 (18:56 +0200)
committerAndreas Gruenbacher <agruenba@redhat.com>
Mon, 18 Jan 2021 15:56:36 +0000 (16:56 +0100)
commitc65b76b893032a9fa69056656c771f5e2fc9ef0c
tree0bfd19a2bd528863574478f366570d1262d0ae67
parent0eacdd16adc425e61926876f15b58008aa5c4784
gfs2: Only use struct gfs2_rbm for bitmap manipulations

GFS2 uses struct gfs2_rbm to represent a filesystem block number as a
bit position within a resource group.  This representation is used in
the bitmap manipulation code to prevent excessive conversions between
block numbers and bit positions, but also in struct gfs2_blkreserv which
is part of struct gfs2_inode, to mark the start of a reservation.  In
the inode, the bit position representation makes less sense: first, the
start position is used as a block number about as often as a bit
position; second, the bit position representation makes the code
unnecessarily complicated and difficult to read.

Therefore, change struct gfs2_blkreserv to represent the start of a
reservation as a block number instead of a bit position.  (This requires
keeping track of the resource group in gfs2_blkreserv separately.) With
that change, various things can be slightly simplified, and struct
gfs2_rbm can be moved to rgrp.c.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/bmap.c
fs/gfs2/incore.h
fs/gfs2/rgrp.c
fs/gfs2/trace_gfs2.h
fs/gfs2/trans.h