]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfsprogs-dev.git/commit
xfs: filter out sparse regions from individual inode allocation
authorBrian Foster <bfoster@redhat.com>
Thu, 28 May 2015 23:20:10 +0000 (09:20 +1000)
committerDave Chinner <david@fromorbit.com>
Tue, 23 Jun 2015 05:08:13 +0000 (15:08 +1000)
commit0a2eaa3e72edf5d7a8a47bb4edbf506e160f7e59
treef3f7d6b9bcf3cc8b58dc4d84273ed325a137a5c7
parentd9df7a0b6214593358ea5dac25753b2357f85695
xfs: filter out sparse regions from individual inode allocation

Inode allocation from an existing record with free inodes traditionally
selects the first inode available according to the ir_free mask. With
sparse inode chunks, the ir_free mask could refer to an unallocated
region. We must mask the unallocated regions out of ir_free before using
it to select a free inode in the chunk.

Update the xfs_inobt_first_free_inode() helper to find the first free
inode available of the allocated regions of the inode chunk.

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