summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_ialloc.c
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2012-03-27 15:40:26 -0500
committerBen Myers <bpm@sgi.com>2013-06-20 13:26:09 -0500
commit427d9fe233ccec3a293be4bcf07f9bac12463a99 (patch)
treefa4fe5c810a10785d8a11f8f80c6e27c7e20d375 /fs/xfs/xfs_ialloc.c
parent39a45d8463d98ea57347b871641136be64b216a9 (diff)
xfs: check on-disk (not incore) btree root size in dfrag.c
xfs_swap_extents_check_format() contains checks to make sure that original and the temporary files during defrag are compatible; Gabriel VLASIU ran into a case where xfs_fsr returned EINVAL because the tests found the btree root to be of size 120, while the fork offset was only 104; IOW, they overlapped. However, this is just due to an error in the xfs_swap_extents_check_format() tests, because it is checking the in-memory btree root size against the on-disk fork offset. We should be checking the on-disk sizes in both cases. This patch adds a new macro to calculate this size, and uses it in the tests. With this change, the filesystem image provided by Gabriel allows for proper file degragmentation. Reported-by: Gabriel VLASIU <gabriel@vlasiu.net> Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_ialloc.c')
0 files changed, 0 insertions, 0 deletions