On Thu, Dec 27, 2012 at 08:44:13AM -0500, Theodore Ts'o wrote: > On Thu, Dec 27, 2012 at 12:04:36PM +0400, Dmitry Monakhov wrote: > > In fact this is my fault that we still not have autotest for that. > > I'm think of add crash-test to xfstests which should trigger journal > > abort and forced umount. Later test should mount FS which trigger > > journal_replay and orphan_cleanup. > > We could create some tests in xfstests which force a crash via "echo b > > /proc/sysrq-trigger", but the trick is would require xfstests to > install something in the /etc/rc scripts so xfstests could resume > right after it came back --- and perhaps to echo something to the > console which automated test runners (such as the one I use which I've > published at [1] could capture so they would know that they should > restart the system. > > [1] git://git.kernel.org/pub/scm/fs/ext2/xfstests-bld.git > > For now the simplest way to test this is to use the file system image > in tests/f_orphan_extents_inode/image.gz, and make this be an > ext4-specific test. This is how I tested it when I created my fix (in > parallel with Zheng's patch). The compressed file system image is > only 564 bytes --- and was made deliberately w/o a journal so it could > be that small --- and the lack of a journal was how I found the > infinite loop problem which was fixed in the 2/2 patch in my patches. > So including this compressed fs image in xfstests is probably the way > I would suggest for now. Just implement XFS_IOC_GOINGDOWN. That way xfstests will immediately support shutting down the filesystem via the src/godown utility. The default XFS behaviour is to freeze the filesystem, then do a forced shutdown on it, though it can also just trigger shutdowns with and without first flushing the journal. i.e. it sounds like test 121 is pretty much what you are describing here... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html