]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit
repair: handle sparse format inobt record freecount correctly
authorBrian Foster <bfoster@redhat.com>
Thu, 30 Jul 2015 23:18:21 +0000 (09:18 +1000)
committerDave Chinner <david@fromorbit.com>
Thu, 30 Jul 2015 23:18:21 +0000 (09:18 +1000)
commitaa6ce1f193d489d4a186769ffddcfff05233a01f
treef9d556ae5b2195ff09d70008ae7012db4be7e0ac
parent48b7e37a0c0e69dd7ca5314571aa62b872c71375
repair: handle sparse format inobt record freecount correctly

The sparse inode chunk feature introduces a new inobt record format that
converts ir_freecount from 4 bytes to 1 byte. ir_freecount references
throughout repair currently assume the 'full' format and endian-convert
from the 32-bit value.

Update the xfs_repair inobt scan and tree rebuild codepaths to use the
correct record format for ir_freecount when sparse inodes is enabled.

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