xfs: helper to convert holemask to inode alloc. bitmap
authorBrian Foster <bfoster@redhat.com>
Thu, 28 May 2015 23:09:05 +0000 (09:09 +1000)
committerDave Chinner <david@fromorbit.com>
Thu, 28 May 2015 23:09:05 +0000 (09:09 +1000)
commit4148c347a42a2aba31f6f4d9a31c647c2d475697
tree2ad150be0e4aeba3d977d39c38b04e351e0bf082
parent7f43c907ad5afe100772249a79fa8cc9b751b28a
xfs: helper to convert holemask to inode alloc. bitmap

The inobt record holemask field is a condensed data type designed to fit
into the existing on-disk record and is zero based (allocated regions
are set to 0, sparse regions are set to 1) to provide backwards
compatibility. This makes the type somewhat complex for use in higher
level inode manipulations such as individual inode allocation, etc.

Rather than foist the complexity of dealing with this field to every bit
of logic that requires inode granular information, create a helper to
convert the holemask to an inode allocation bitmap. The inode allocation
bitmap is inode granularity similar to the inobt record free mask and
indicates which inodes of the chunk are physically allocated on disk,
irrespective of whether the inode is considered allocated or free by the
filesystem.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/libxfs/xfs_ialloc_btree.c
fs/xfs/libxfs/xfs_ialloc_btree.h