xfs: update the finobt on inode free
authorBrian Foster <bfoster@redhat.com>
Thu, 24 Apr 2014 06:00:53 +0000 (16:00 +1000)
committerDave Chinner <david@fromorbit.com>
Thu, 24 Apr 2014 06:00:53 +0000 (16:00 +1000)
An inode free operation can have several effects on the finobt. If
all inodes have been freed and the chunk deallocated, we remove the
finobt record. If the inode chunk was previously full, we must
insert a new record based on the existing inobt record. Otherwise,
we modify the record in place.

Create the xfs_difree_finobt() function to identify the potential
scenarios and update the finobt appropriately.

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/xfs_ialloc.c

Simple merge