summaryrefslogtreecommitdiff
path: root/make_irix
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2010-04-28 15:34:06 +1000
committerDave Chinner <david@fromorbit.com>2010-04-28 15:34:06 +1000
commita8fa6ee439c79cb6399d575e8c2e4357f906965f (patch)
treed51d5a6fe84954085bd83ffca44cc6acb7c369d1 /make_irix
parentf03e512ff690ca8218921c335ab64c774d3a50ff (diff)
xfsqa: new fsr defragmentation test
This test aims to recreate the conditions that caused xfs_fsr to corrupt inode forks. The problem was that the data forks between the two inodes were in different formats due to different inode fork offsets, so when they swapped the data forks the formats were invalid. This test generates a filesystem with a known fragmented freespace pattern and then abuses known "behaviours" of the allocator to generate files with a known number of extents. It creates attributes to generate a known inode fork offset, then uses a debug feature of xfs_fsr to attempt to defrag the inode to a known number of extents. By using these features, we can pretty much cover the entire matrix of inode fork configurations, hence reproducing the conditions that lead to corruptions. This test has already uncovered one bug in the current kernel code, and the current fsr (with it's naive attribute fork handling) is aborted on a couple of hundred of the files created by this test. Signed-off-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'make_irix')
0 files changed, 0 insertions, 0 deletions