]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commit
xfs: discontiguous multi-block buffer logging test
authorBrian Foster <bfoster@redhat.com>
Thu, 2 Jun 2016 13:10:01 +0000 (09:10 -0400)
committerEryu Guan <eguan@redhat.com>
Wed, 15 Jun 2016 07:34:52 +0000 (15:34 +0800)
commitc8c0cfc1ce12c40cc1c831c7b8aeaddf672a76e2
tree8f232b0be809e8217f90e4bf6358c289b8474ec6
parentf9718638babe5a3e23dfe118e725b93501b53bc6
xfs: discontiguous multi-block buffer logging test

XFS had a bug in the multi-block buffer logging code that caused a
NULL lv panic at log push time due to invalid regions being set in
the buffer log format bitmap. This was demonstrated by modifying a
multi-block directory buffer in a manner that only logs regions
beyond the first FSB-sized mapping of the buffer.

To recreate these conditions, this test fragments free space and
populates several directories with enough entries to require
discontiguous multi-block buffers. To recreate the problem, we
remove entries from the tail end of the directory and fsync to flush
the log.

Note that this test causes a panic on kernels affected by the bug.
As such, it is included in the 'dangerous' group. The bug is
resolved by kernel commit a3916e528b91 ("xfs: fix broken multi-fsb
buffer logging").

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/xfs/306 [new file with mode: 0755]
tests/xfs/306.out [new file with mode: 0644]
tests/xfs/group