* Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) @ 2018-10-15 20:58 Jayashree Mohan 2018-10-21 10:45 ` Eryu Guan 0 siblings, 1 reply; 18+ messages in thread From: Jayashree Mohan @ 2018-10-15 20:58 UTC (permalink / raw) To: Theodore Ts'o, fstests; +Cc: Vijaychidambaram Velayudhan Pillai Hi Ted, Thanks for encouraging and helping us in the course of building CrashMonkey for file-system crash consistency testing. Our work is published in OSDI '18 (https://www.usenix.org/conference/osdi18/presentation/mohan). While our goal is to enable the integration of a tool like CrashMonkey in the file-system development cycle, we think it would be beneficial to add the test suite of about 300 workloads (consisting of 1 core file-system operation) that we systematically generated, to xfstest. The complete list of these workloads is in the CrashMonkey repository (https://github.com/utsaslab/crashmonkey/tree/master/code/tests/seq1). Given that developers currently use the xfstest, this addition would ensure that simple crash-consistency bugs are eliminated from any future kernel versions. If this idea sounds good to you, we can write a patch for including our workloads into xfstest, using dm_flakey. If there's some specific format you want us to follow while writing patches for these crash-consistency tests, we are happy to adopt it. Thanks, Jayashree Mohan ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-15 20:58 Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) Jayashree Mohan @ 2018-10-21 10:45 ` Eryu Guan 2018-10-21 15:53 ` Jayashree Mohan [not found] ` <CA+EzBbCd2zZ9sNW-dgyPyR5FH-HK5LArG6y+bPOCJ3Wqyp5=Ug@mail.gmail.com> 0 siblings, 2 replies; 18+ messages in thread From: Eryu Guan @ 2018-10-21 10:45 UTC (permalink / raw) To: Jayashree Mohan Cc: Theodore Ts'o, fstests, Vijaychidambaram Velayudhan Pillai On Mon, Oct 15, 2018 at 03:58:06PM -0500, Jayashree Mohan wrote: > Hi Ted, > > Thanks for encouraging and helping us in the course of building > CrashMonkey for file-system crash consistency testing. Our work is > published in OSDI '18 > (https://www.usenix.org/conference/osdi18/presentation/mohan). While > our goal is to enable the integration of a tool like CrashMonkey in > the file-system development cycle, we think it would be beneficial to > add the test suite of about 300 workloads (consisting of 1 core > file-system operation) that we systematically generated, to xfstest. > The complete list of these workloads is in the CrashMonkey repository > (https://github.com/utsaslab/crashmonkey/tree/master/code/tests/seq1). > Given that developers currently use the xfstest, this addition would > ensure that simple crash-consistency bugs are eliminated from any > future kernel versions. It's great to have more crash-consistency tests in fstests, thanks! > > If this idea sounds good to you, we can write a patch for including > our workloads into xfstest, using dm_flakey. If there's some specific > format you want us to follow while writing patches for these > crash-consistency tests, we are happy to adopt it. For starters, please follow the new test template generated by the 'new' script, e.g. ./new generic which will find the next free test sequence ID in 'generic' dir and generate a tests/generic/<seq> test template file, you could modify that file for your new tests. Filipe Manana has contributed many tests that take use of dm_flakey, and I find them all well-formated and easy to read (e.g. with clear comments explaining the test). I'd recommend you take Filipe Manana's tests as example. Thanks, Eryu ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-21 10:45 ` Eryu Guan @ 2018-10-21 15:53 ` Jayashree Mohan [not found] ` <CA+EzBbCd2zZ9sNW-dgyPyR5FH-HK5LArG6y+bPOCJ3Wqyp5=Ug@mail.gmail.com> 1 sibling, 0 replies; 18+ messages in thread From: Jayashree Mohan @ 2018-10-21 15:53 UTC (permalink / raw) To: Eryu Guan; +Cc: Theodore Ts'o, Vijaychidambaram Velayudhan Pillai, fstests Hi Eryu, Thanks for the response! Will follow the template you suggested for writing test cases. CrashMonkey generates 300 test cases, which we’ll convert to xfstest. Should we submit each test case as a different patch, or say 10 test cases per patch, or all of them in a single patch ? Let us know if there’s a preference. On Sun, Oct 21, 2018 at 5:45 AM Eryu Guan <guaneryu@gmail.com> wrote: > > On Mon, Oct 15, 2018 at 03:58:06PM -0500, Jayashree Mohan wrote: > > Hi Ted, > > > > Thanks for encouraging and helping us in the course of building > > CrashMonkey for file-system crash consistency testing. Our work is > > published in OSDI '18 > > (https://www.usenix.org/conference/osdi18/presentation/mohan). While > > our goal is to enable the integration of a tool like CrashMonkey in > > the file-system development cycle, we think it would be beneficial to > > add the test suite of about 300 workloads (consisting of 1 core > > file-system operation) that we systematically generated, to xfstest. > > The complete list of these workloads is in the CrashMonkey repository > > (https://github.com/utsaslab/crashmonkey/tree/master/code/tests/seq1). > > Given that developers currently use the xfstest, this addition would > > ensure that simple crash-consistency bugs are eliminated from any > > future kernel versions. > > It's great to have more crash-consistency tests in fstests, thanks! > > > > > If this idea sounds good to you, we can write a patch for including > > our workloads into xfstest, using dm_flakey. If there's some specific > > format you want us to follow while writing patches for these > > crash-consistency tests, we are happy to adopt it. > > For starters, please follow the new test template generated by the 'new' > script, e.g. > > ./new generic > > which will find the next free test sequence ID in 'generic' dir and > generate a tests/generic/<seq> test template file, you could modify that > file for your new tests. > > Filipe Manana has contributed many tests that take use of dm_flakey, and > I find them all well-formated and easy to read (e.g. with clear comments > explaining the test). I'd recommend you take Filipe Manana's tests as > example. > > Thanks, > Eryu ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <CA+EzBbCd2zZ9sNW-dgyPyR5FH-HK5LArG6y+bPOCJ3Wqyp5=Ug@mail.gmail.com>]
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) [not found] ` <CA+EzBbCd2zZ9sNW-dgyPyR5FH-HK5LArG6y+bPOCJ3Wqyp5=Ug@mail.gmail.com> @ 2018-10-21 22:21 ` Theodore Y. Ts'o 2018-10-21 22:52 ` Jayashree Mohan 0 siblings, 1 reply; 18+ messages in thread From: Theodore Y. Ts'o @ 2018-10-21 22:21 UTC (permalink / raw) To: Jayashree Mohan; +Cc: Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests On Sun, Oct 21, 2018 at 10:48:56AM -0500, Jayashree Mohan wrote: > Hi Eryu, > > Thanks for the response! Will follow the template you suggested for writing > test cases. > > CrashMonkey generates 300 test cases, which we’ll convert to xfstest. > Should we submit each test case as a different patch, or say 10 test cases > per patch, or all of them in a single patch ? Let us know if there’s a > preference. How long does each test case take to run? And note, by the way, that by default we automatically run fsck on the test device after each test. So number one, if you use the test device, you don't need to worry about running fsck explicitly; the xfstests check script will do that, and fail the test if the file system is corrupted --- and number two, this will influence whether which groups each test should be assigned. See the file xfstests-dev/tests/generic/group to see how groups get assigned to tests. I suppose all of the crashmonkey tests should be assigned to a new group, say, "crashmonkey". Whether or not they should get assigned to the "auto" or "quick" group is a different question. Note that if running these tests will signicantly increase the test run time of smoke tests and even the full "automatic" regression tests, there may be some resistence in adding all of these tests to the "auto" or "quick" groups. Or even if you do, many file system developers may choose to exclude all tests from the "crashmonkey" group because if a 15 minute smoke test suddenly gets extended to take 6 hours, developers are wont to get.... cranky. :-) - Ted ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-21 22:21 ` Theodore Y. Ts'o @ 2018-10-21 22:52 ` Jayashree Mohan 2018-10-22 2:05 ` Dave Chinner 0 siblings, 1 reply; 18+ messages in thread From: Jayashree Mohan @ 2018-10-21 22:52 UTC (permalink / raw) To: Theodore Ts'o; +Cc: Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests > How long does each test case take to run? All the tests would touch 4 files at most or write 32-64KB of data to a file, starting from a empty file system image (hence very minimal running time). We are not going to bring CrashMonkey in the loop - we will port the generated tests to xfstest using dm-flakey (like generic/498 [1], which was submitted in response to a bug found by CrashMonkey in btrfs). Hence, each test should take the same time as that of current crash-consistency tests in the xfstest suite (for example, similar to generic/034 which takes about a second to run). > And note, by the way, that > by default we automatically run fsck on the test device after each > test. So number one, if you use the test device, you don't need to > worry about running fsck explicitly; the xfstests check script will do > that, and fail the test if the file system is corrupted --- and number > two, this will influence whether which groups each test should be > assigned. Noted. Since we will be writing the out-file (checker) manually, will ensure that checks only the content/metadata. > See the file xfstests-dev/tests/generic/group to see how groups get > assigned to tests. I suppose all of the crashmonkey tests should be > assigned to a new group, say, "crashmonkey". Whether or not they > should get assigned to the "auto" or "quick" group is a different > question. Note that if running these tests will signicantly increase > the test run time of smoke tests and even the full "automatic" > regression tests, there may be some resistence in adding all of these > tests to the "auto" or "quick" groups. Or even if you do, many file > system developers may choose to exclude all tests from the > "crashmonkey" group because if a 15 minute smoke test suddenly gets > extended to take 6 hours, developers are wont to get.... cranky. :-) It makes sense to add it to a new group as you suggest, and considering a second to run each test, it should take around 5 minutes to run this batch of CrashMonkey tests. Once the tests cases are ready, we can give you a better estimate of total time spent on the newly added tests. [1] https://patchwork.kernel.org/patch/10458749/ Thanks, Jayashree ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-21 22:52 ` Jayashree Mohan @ 2018-10-22 2:05 ` Dave Chinner 2018-10-22 2:35 ` Jayashree Mohan 2018-10-22 2:44 ` Amir Goldstein 0 siblings, 2 replies; 18+ messages in thread From: Dave Chinner @ 2018-10-22 2:05 UTC (permalink / raw) To: Jayashree Mohan Cc: Theodore Ts'o, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests On Sun, Oct 21, 2018 at 05:52:21PM -0500, Jayashree Mohan wrote: > > How long does each test case take to run? > All the tests would touch 4 files at most or write 32-64KB of data to > a file, starting from a empty file system image (hence very minimal > running time). We are not going to bring CrashMonkey in the loop - we > will port the generated tests to xfstest using dm-flakey (like > generic/498 [1], which was submitted in response to a bug found by > CrashMonkey in btrfs). Hence, each test should take the same time as > that of current crash-consistency tests in the xfstest suite (for > example, similar to generic/034 which takes about a second to run). > > > And note, by the way, that > > by default we automatically run fsck on the test device after each > > test. So number one, if you use the test device, you don't need to > > worry about running fsck explicitly; the xfstests check script will do > > that, and fail the test if the file system is corrupted --- and number > > two, this will influence whether which groups each test should be > > assigned. > > Noted. Since we will be writing the out-file (checker) manually, will > ensure that checks only the content/metadata. > > > See the file xfstests-dev/tests/generic/group to see how groups get > > assigned to tests. I suppose all of the crashmonkey tests should be > > assigned to a new group, say, "crashmonkey". Whether or not they > > should get assigned to the "auto" or "quick" group is a different > > question. Note that if running these tests will signicantly increase > > the test run time of smoke tests and even the full "automatic" > > regression tests, there may be some resistence in adding all of these > > tests to the "auto" or "quick" groups. Or even if you do, many file > > system developers may choose to exclude all tests from the > > "crashmonkey" group because if a 15 minute smoke test suddenly gets > > extended to take 6 hours, developers are wont to get.... cranky. :-) > > It makes sense to add it to a new group as you suggest, and > considering a second to run each test, it should take around 5 minutes > to run this batch of CrashMonkey tests. Once the tests cases are > ready, we can give you a better estimate of total time spent on the > newly added tests. Add the time between tests - fsck checks, scrub, etc, and that can easily add another 10s per test. Hence I'd strongly encourage you to batch similar tests into a single xfstest test so that we're not needlessly adding 300x15s to every test run because of the per-test external overhead..... Cheers, Dave. -- Dave Chinner david@fromorbit.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 2:05 ` Dave Chinner @ 2018-10-22 2:35 ` Jayashree Mohan 2018-10-22 2:49 ` Amir Goldstein 2018-10-22 2:44 ` Amir Goldstein 1 sibling, 1 reply; 18+ messages in thread From: Jayashree Mohan @ 2018-10-22 2:35 UTC (permalink / raw) To: Dave Chinner Cc: Theodore Ts'o, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests Hi Dave, Agreed that there could be other overheads per test, which we'll try to minimize by batching. However, even if we batch similar test cases into one, _scratch_shutdown and _scratch_cycle_mount() will be called in each sub-case within the test. Doesn't this mean you will run fsck after each sub-test too? On Sun, Oct 21, 2018 at 9:05 PM Dave Chinner <david@fromorbit.com> wrote: > > On Sun, Oct 21, 2018 at 05:52:21PM -0500, Jayashree Mohan wrote: > > > How long does each test case take to run? > > All the tests would touch 4 files at most or write 32-64KB of data to > > a file, starting from a empty file system image (hence very minimal > > running time). We are not going to bring CrashMonkey in the loop - we > > will port the generated tests to xfstest using dm-flakey (like > > generic/498 [1], which was submitted in response to a bug found by > > CrashMonkey in btrfs). Hence, each test should take the same time as > > that of current crash-consistency tests in the xfstest suite (for > > example, similar to generic/034 which takes about a second to run). > > > > > And note, by the way, that > > > by default we automatically run fsck on the test device after each > > > test. So number one, if you use the test device, you don't need to > > > worry about running fsck explicitly; the xfstests check script will do > > > that, and fail the test if the file system is corrupted --- and number > > > two, this will influence whether which groups each test should be > > > assigned. > > > > Noted. Since we will be writing the out-file (checker) manually, will > > ensure that checks only the content/metadata. > > > > > See the file xfstests-dev/tests/generic/group to see how groups get > > > assigned to tests. I suppose all of the crashmonkey tests should be > > > assigned to a new group, say, "crashmonkey". Whether or not they > > > should get assigned to the "auto" or "quick" group is a different > > > question. Note that if running these tests will signicantly increase > > > the test run time of smoke tests and even the full "automatic" > > > regression tests, there may be some resistence in adding all of these > > > tests to the "auto" or "quick" groups. Or even if you do, many file > > > system developers may choose to exclude all tests from the > > > "crashmonkey" group because if a 15 minute smoke test suddenly gets > > > extended to take 6 hours, developers are wont to get.... cranky. :-) > > > > It makes sense to add it to a new group as you suggest, and > > considering a second to run each test, it should take around 5 minutes > > to run this batch of CrashMonkey tests. Once the tests cases are > > ready, we can give you a better estimate of total time spent on the > > newly added tests. > > Add the time between tests - fsck checks, scrub, etc, and that can > easily add another 10s per test. > > Hence I'd strongly encourage you to batch similar tests into a > single xfstest test so that we're not needlessly adding 300x15s to > every test run because of the per-test external overhead..... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 2:35 ` Jayashree Mohan @ 2018-10-22 2:49 ` Amir Goldstein 2018-10-22 3:23 ` Jayashree Mohan 0 siblings, 1 reply; 18+ messages in thread From: Amir Goldstein @ 2018-10-22 2:49 UTC (permalink / raw) To: Jayashree Mohan Cc: Dave Chinner, Theodore Tso, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests On Mon, Oct 22, 2018 at 5:45 AM Jayashree Mohan <jayashree2912@gmail.com> wrote: > > Hi Dave, > > Agreed that there could be other overheads per test, which we'll try > to minimize by batching. > > However, even if we batch similar test cases into one, > _scratch_shutdown and _scratch_cycle_mount() will be called in each Wait, why _scratch_shutdown and not using dm_flakey? Fewer filesystems support _scratch_shutdown and _scratch_shutdown could be buggy and not simulate crash accurately. > sub-case within the test. Doesn't this mean you will run fsck after > each sub-test too? > _scratch_cycle_mount does not fsck. Thanks, Amir. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 2:49 ` Amir Goldstein @ 2018-10-22 3:23 ` Jayashree Mohan 2018-10-22 4:02 ` Dave Chinner 2018-10-22 4:23 ` Amir Goldstein 0 siblings, 2 replies; 18+ messages in thread From: Jayashree Mohan @ 2018-10-22 3:23 UTC (permalink / raw) To: Amir Goldstein Cc: Dave Chinner, Theodore Ts'o, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests On Sun, Oct 21, 2018 at 9:49 PM Amir Goldstein <amir73il@gmail.com> wrote: > Wait, why _scratch_shutdown and not using dm_flakey? > Fewer filesystems support _scratch_shutdown and _scratch_shutdown > could be buggy and not simulate crash accurately. Thanks for this note. I was looking at previous xfstest tests (something not very old - generic/468 for eg), and it was using scratch_shutdown. Hence I used that as an example. I'll use flakey_drop_and_remount while writing up future patches. Doesn't this mean the current tests in xfstest suite might miss bugs in current/future kernel versions, because some file systems don't support it? There are many crash-consistency tests in xfstest suite that still use _scratch_shutdown. In fact generic/468 is one of the test cases that could not run on btrfs because it does not support _shutdown. But then this is the exact test case required to reveal a bug in btrfs - where you lose allocated blocks beyond the eof on fallocate. Just wanted to bring this up, in case you did not notice it :) Thanks, Jayashree ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 3:23 ` Jayashree Mohan @ 2018-10-22 4:02 ` Dave Chinner 2018-10-22 7:14 ` Theodore Y. Ts'o 2018-10-22 4:23 ` Amir Goldstein 1 sibling, 1 reply; 18+ messages in thread From: Dave Chinner @ 2018-10-22 4:02 UTC (permalink / raw) To: Jayashree Mohan Cc: Amir Goldstein, Theodore Ts'o, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests On Sun, Oct 21, 2018 at 10:23:06PM -0500, Jayashree Mohan wrote: > On Sun, Oct 21, 2018 at 9:49 PM Amir Goldstein <amir73il@gmail.com> wrote: > > > Wait, why _scratch_shutdown and not using dm_flakey? > > Fewer filesystems support _scratch_shutdown and _scratch_shutdown > > could be buggy and not simulate crash accurately. > > Thanks for this note. I was looking at previous xfstest tests > (something not very old - generic/468 for eg), and it was using > scratch_shutdown. Hence I used that as an example. I'll use > flakey_drop_and_remount while writing up future patches. > > Doesn't this mean the current tests in xfstest suite might miss bugs > in current/future kernel versions, because some file systems don't > support it? scratch_shutdown is testing shutdown behaviour, whatever the cause. Not all filesystems have a shutdown mechanism - it's a specific set of operations that the filesystem performs in response to failure triggers. Some filesystems just go read-only or have other response mechanisms, which aren't compatible with expected shutdown behaviour. And because shutdowns can be caused by things other than IO errors (which dm-flakey triggers) and so need to be tested /in addition/ to other types of failures. > There are many crash-consistency tests in xfstest suite > that still use _scratch_shutdown. Yes, because shutdowns can /simulate/ such failures. > In fact generic/468 is one of the > test cases that could not run on btrfs because it does not support > _shutdown. Yes, but that doesn't stop us from having the test. If btrfs were to implement a shutdown mechanism, then they'd gain coverage from these tests too. > But then this is the exact test case required to reveal a > bug in btrfs - where you lose allocated blocks beyond the eof on > fallocate. Just wanted to bring this up, in case you did not notice it Then add support for shutdowns to btrfs, and it will get test coverage from these tests. That's not a problem with the test - that's a filesystem functionality deficiency. i.e. fix the filesystem, don't change the test. Cheers, Dave. -- Dave Chinner david@fromorbit.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 4:02 ` Dave Chinner @ 2018-10-22 7:14 ` Theodore Y. Ts'o 0 siblings, 0 replies; 18+ messages in thread From: Theodore Y. Ts'o @ 2018-10-22 7:14 UTC (permalink / raw) To: Dave Chinner Cc: Jayashree Mohan, Amir Goldstein, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests On Mon, Oct 22, 2018 at 03:02:31PM +1100, Dave Chinner wrote: > scratch_shutdown is testing shutdown behaviour, whatever the cause. > Not all filesystems have a shutdown mechanism - it's a specific set > of operations that the filesystem performs in response to failure > triggers. Some filesystems just go read-only or have other response > mechanisms, which aren't compatible with expectetd shutdown > behaviour. What Dave said. I'll note that at the moment ext4 passes dm_flakey power cut tests reliably, which is *different* from the tests which use the FS_IOC_SHUTDOWN ioctl. At the moment ext4, fails FS_IOC_SHUTDOWN tests around 3% -- 5% of the time --- which is why generic/388, which repeatedly mounts and call FS_IOC_SHUTDOWN 30 times, is a flaky (sorry) test for ext4. So for the crashmonkey tests, if you are specifically trying to test what happens on a power cut, you need to be using dm_flakey, and not FS_IOC_SHUTDOWN. Testing what happens on FS_IOC_SHUTDOWN would also be useful, but it's a different thing. (And at least for ext4, I know what the problems are with ext4's FS_IOC_SHUTDOWN support; the challenge is how to fix it without imposing a performance regression, and since FS_IOC_SHUTDOWN is rarely used in production[1], it's been low priority for me to fix.) - Ted [1] Actually, Google does use FS_IOC_SHUTDOWN in production, but only for scratch iSCSI volumes which have already disappeared and so we don't care if the underlying file system might get corrupted, since the whole point is to forcibly detach the failed iSCSI device while keeping the iSCSI client system running. (And since it's a scratch volume, it's mounted with the journal disabled, which means on shutdown, even we cared about the state of the scratch volume after shutdown, by in no journal mode there are no guarantees about file system consistency after a shutdown or power cut anyway.) ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 3:23 ` Jayashree Mohan 2018-10-22 4:02 ` Dave Chinner @ 2018-10-22 4:23 ` Amir Goldstein 1 sibling, 0 replies; 18+ messages in thread From: Amir Goldstein @ 2018-10-22 4:23 UTC (permalink / raw) To: Jayashree Mohan Cc: Dave Chinner, Theodore Tso, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests, Filipe Manana, Josef Bacik, Chengguang Xu On Mon, Oct 22, 2018 at 6:23 AM Jayashree Mohan <jayashree2912@gmail.com> wrote: > > On Sun, Oct 21, 2018 at 9:49 PM Amir Goldstein <amir73il@gmail.com> wrote: > > > Wait, why _scratch_shutdown and not using dm_flakey? > > Fewer filesystems support _scratch_shutdown and _scratch_shutdown > > could be buggy and not simulate crash accurately. > > Thanks for this note. I was looking at previous xfstest tests > (something not very old - generic/468 for eg), and it was using > scratch_shutdown. Hence I used that as an example. I'll use > flakey_drop_and_remount while writing up future patches. > > Doesn't this mean the current tests in xfstest suite might miss bugs > in current/future kernel versions, because some file systems don't > support it? There are many crash-consistency tests in xfstest suite > that still use _scratch_shutdown. In fact generic/468 is one of the > test cases that could not run on btrfs because it does not support > _shutdown. But then this is the exact test case required to reveal a > bug in btrfs - where you lose allocated blocks beyond the eof on > fallocate. Just wanted to bring this up, in case you did not notice it > :) > xfstests grew up with xfs having shutdown ability, so I suppose some shutdown tests test this functionality and some shutdown tests are pure crash consistency tests. Later, ext4 got shutdown support so it enjoys all this test coverage. Quite recently, Chengguang Xu added shutdown support for testing overlayfs over xfs/ext4. Note that this was done without changing kernel code. Josef Bacik added the dmflakey infrastructure to xfstests for btrfs crash tests generic/311,321. Later, I also added Josef's dmlogwrites infrastructure for crash stress tests. dmflakey and dmlogwrites _require_block_device, so they don't run on overlayfs. Now, if you write your tests with dmflakey, overlayfs will not run them and if you write your tests with shutdown, btrfs won't run them. Obviously, btrfs is more important in the context of your tests and adding dmflakey support for overlayfs is something we can do in the future. Thanks, Amir. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 2:05 ` Dave Chinner 2018-10-22 2:35 ` Jayashree Mohan @ 2018-10-22 2:44 ` Amir Goldstein 2018-10-22 3:09 ` Jayashree Mohan 1 sibling, 1 reply; 18+ messages in thread From: Amir Goldstein @ 2018-10-22 2:44 UTC (permalink / raw) To: Jayashree Mohan Cc: Theodore Tso, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests, Dave Chinner > > > > > See the file xfstests-dev/tests/generic/group to see how groups get > > > assigned to tests. I suppose all of the crashmonkey tests should be > > > assigned to a new group, say, "crashmonkey". Wait, let me get it straight. Did crashmonkey produce 300 test cases or did it find 300 bugs? Are all those test cases passing on all filesystems? Some test cases failing on some filesystems? In any case, I would add tests to group "crash" or "flakey", as there are other crash consistent tests that could fit in that group in current tests. If there is something differentiating the new tests from existing crash tests they could be added to yet another group. If it is not 300 bugs, but 300 generated sequences and crashmonkey OSDI paper 2019 is going to result in 26000 generated sequences, then the test group would be better characterized as -g generic/fuzzers. > > > Note that if running these tests will signicantly increase > > > the test run time of smoke tests and even the full "automatic" > > > regression tests, there may be some resistence in adding all of these > > > tests to the "auto" or "quick" groups. Or even if you do, many file > > > system developers may choose to exclude all tests from the > > > "crashmonkey" group because if a 15 minute smoke test suddenly gets > > > extended to take 6 hours, developers are wont to get.... cranky. :-) > > > > It makes sense to add it to a new group as you suggest, and > > considering a second to run each test, it should take around 5 minutes > > to run this batch of CrashMonkey tests. Once the tests cases are > > ready, we can give you a better estimate of total time spent on the > > newly added tests. > > Add the time between tests - fsck checks, scrub, etc, and that can > easily add another 10s per test. > Jayashree, Please note that the time between test highly depends on the scratch partition size and media, so you may not be seeing the full effects of running 300 "quick" tests on your system. > Hence I'd strongly encourage you to batch similar tests into a > single xfstest test so that we're not needlessly adding 300x15s to > every test run because of the per-test external overhead..... > And that should be easy to do as: test case #1: do _flakey_drop_and_remount test case #1: check test case #1: clean test case #2: do _flakey_drop_and_remount test case #2: check test case #2: clean I suppose you don't HAVE to run all test cases on a fresh created fs?? so clean would be just rm -rf or even each test case could use its own subdir? Thanks, Amir. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 2:44 ` Amir Goldstein @ 2018-10-22 3:09 ` Jayashree Mohan 2018-10-22 3:47 ` Amir Goldstein 2018-10-22 4:15 ` Dave Chinner 0 siblings, 2 replies; 18+ messages in thread From: Jayashree Mohan @ 2018-10-22 3:09 UTC (permalink / raw) To: Amir Goldstein Cc: Theodore Ts'o, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests, Dave Chinner On Sun, Oct 21, 2018 at 9:44 PM Amir Goldstein <amir73il@gmail.com> wrote: > > > > > > > > See the file xfstests-dev/tests/generic/group to see how groups get > > > > assigned to tests. I suppose all of the crashmonkey tests should be > > > > assigned to a new group, say, "crashmonkey". > > Wait, let me get it straight. Did crashmonkey produce 300 test cases or > did it find 300 bugs? Are all those test cases passing on all filesystems? > Some test cases failing on some filesystems? CrashMonkey generates 300 workloads, out of which 3 tests result in bugs in two file systems (btrfs and F2FS). Others passed clean for ext4, xfs, btrfs and F2FS. Given that xfstest is a regression test suite, we thought it would be beneficial to add all 300 workloads to the generic test - it is possible that a future kernel version has a bug that could be triggered by one of these 300 workloads. We say so because, these workloads test the file-system in a systematic manner using common file-system operations. Given that crash-consistency tests are sparse, checking a file system against these 300 workloads will at least ensure that the file system is free from simple crash-consistency bugs (in addition to testing for bugs that were reported in earlier kernel versions). > In any case, I would add tests to group "crash" or "flakey", as there are > other crash consistent tests that could fit in that group in current tests. > If there is something differentiating the new tests from existing crash > tests they could be added to yet another group. > > If it is not 300 bugs, but 300 generated sequences and crashmonkey > OSDI paper 2019 is going to result in 26000 generated sequences, > then the test group would be better characterized as -g generic/fuzzers. > > > > > Note that if running these tests will signicantly increase > > > > the test run time of smoke tests and even the full "automatic" > > > > regression tests, there may be some resistence in adding all of these > > > > tests to the "auto" or "quick" groups. Or even if you do, many file > > > > system developers may choose to exclude all tests from the > > > > "crashmonkey" group because if a 15 minute smoke test suddenly gets > > > > extended to take 6 hours, developers are wont to get.... cranky. :-) > > > > > > It makes sense to add it to a new group as you suggest, and > > > considering a second to run each test, it should take around 5 minutes > > > to run this batch of CrashMonkey tests. Once the tests cases are > > > ready, we can give you a better estimate of total time spent on the > > > newly added tests. > > > > Add the time between tests - fsck checks, scrub, etc, and that can > > easily add another 10s per test. > > > > Jayashree, > > Please note that the time between test highly depends on the scratch > partition size and media, so you may not be seeing the full effects of > running 300 "quick" tests on your system. Got it. > > Hence I'd strongly encourage you to batch similar tests into a > > single xfstest test so that we're not needlessly adding 300x15s to > > every test run because of the per-test external overhead..... > > > > And that should be easy to do as: > > test case #1: do > _flakey_drop_and_remount > test case #1: check > test case #1: clean > > test case #2: do > _flakey_drop_and_remount > test case #2: check > test case #2: clean > > I suppose you don't HAVE to run all test cases on a fresh created fs?? > so clean would be just rm -rf or even each test case could use its own > subdir? You are right. A simple cleanup will work. We can club multiple of our workloads into one test and create something like 1 test case per file-system operation. Thanks, Jayashree. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 3:09 ` Jayashree Mohan @ 2018-10-22 3:47 ` Amir Goldstein 2018-10-22 4:15 ` Dave Chinner 1 sibling, 0 replies; 18+ messages in thread From: Amir Goldstein @ 2018-10-22 3:47 UTC (permalink / raw) To: Jayashree Mohan Cc: Theodore Tso, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests, Dave Chinner On Mon, Oct 22, 2018 at 6:09 AM Jayashree Mohan <jayashree2912@gmail.com> wrote: > > On Sun, Oct 21, 2018 at 9:44 PM Amir Goldstein <amir73il@gmail.com> wrote: > > > > > > > > > > > See the file xfstests-dev/tests/generic/group to see how groups get > > > > > assigned to tests. I suppose all of the crashmonkey tests should be > > > > > assigned to a new group, say, "crashmonkey". > > > > Wait, let me get it straight. Did crashmonkey produce 300 test cases or > > did it find 300 bugs? Are all those test cases passing on all filesystems? > > Some test cases failing on some filesystems? > > CrashMonkey generates 300 workloads, out of which 3 tests result in > bugs in two file systems (btrfs and F2FS). So I suppose those 3 tests should be separate and mention the fix commit (if there is one?). > Others passed clean for > ext4, xfs, btrfs and F2FS. Given that xfstest is a regression test > suite, we thought it would be beneficial to add all 300 workloads to > the generic test - it is possible that a future kernel version has a > bug that could be triggered by one of these 300 workloads. We say so > because, these workloads test the file-system in a systematic manner > using common file-system operations. Given that crash-consistency > tests are sparse, checking a file system against these 300 workloads > will at least ensure that the file system is free from simple > crash-consistency bugs (in addition to testing for bugs that were > reported in earlier kernel versions). > Well, assuming your tests are quick, IMO auto quick fuzzer crash Is descriptive enough. Let's see what other people think. > > I suppose you don't HAVE to run all test cases on a fresh created fs?? > > so clean would be just rm -rf or even each test case could use its own > > subdir? > > You are right. A simple cleanup will work. We can club multiple of our > workloads into one test and create something like 1 test case per > file-system operation. > If that results in a "few" more "quick" tests, then I think its a good way to go. Thanks, Amir. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 3:09 ` Jayashree Mohan 2018-10-22 3:47 ` Amir Goldstein @ 2018-10-22 4:15 ` Dave Chinner 2018-10-22 13:25 ` Eric Sandeen 2018-10-22 23:18 ` Jayashree Mohan 1 sibling, 2 replies; 18+ messages in thread From: Dave Chinner @ 2018-10-22 4:15 UTC (permalink / raw) To: Jayashree Mohan Cc: Amir Goldstein, Theodore Ts'o, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests On Sun, Oct 21, 2018 at 10:09:01PM -0500, Jayashree Mohan wrote: > On Sun, Oct 21, 2018 at 9:44 PM Amir Goldstein <amir73il@gmail.com> wrote: > > > > > > > > > > > See the file xfstests-dev/tests/generic/group to see how groups get > > > > > assigned to tests. I suppose all of the crashmonkey tests should be > > > > > assigned to a new group, say, "crashmonkey". > > > > Wait, let me get it straight. Did crashmonkey produce 300 test cases or > > did it find 300 bugs? Are all those test cases passing on all filesystems? > > Some test cases failing on some filesystems? > > CrashMonkey generates 300 workloads, out of which 3 tests result in > bugs in two file systems (btrfs and F2FS). Others passed clean for > ext4, xfs, btrfs and F2FS. Given that xfstest is a regression test > suite, we thought it would be beneficial to add all 300 workloads to > the generic test - Perhaps you should port a test or two so we can have a look at what these tests are before we make any recomendations on the best way to integrate them. 300 new tests is an awful lot to maintain if we ever want to change anything.... Cheers, Dave. -- Dave Chinner david@fromorbit.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 4:15 ` Dave Chinner @ 2018-10-22 13:25 ` Eric Sandeen 2018-10-22 23:18 ` Jayashree Mohan 1 sibling, 0 replies; 18+ messages in thread From: Eric Sandeen @ 2018-10-22 13:25 UTC (permalink / raw) To: Dave Chinner, Jayashree Mohan Cc: Amir Goldstein, Theodore Ts'o, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests On 10/21/18 11:15 PM, Dave Chinner wrote: > On Sun, Oct 21, 2018 at 10:09:01PM -0500, Jayashree Mohan wrote: >> On Sun, Oct 21, 2018 at 9:44 PM Amir Goldstein <amir73il@gmail.com> wrote: >>> >>>>> >>>>>> See the file xfstests-dev/tests/generic/group to see how groups get >>>>>> assigned to tests. I suppose all of the crashmonkey tests should be >>>>>> assigned to a new group, say, "crashmonkey". >>> >>> Wait, let me get it straight. Did crashmonkey produce 300 test cases or >>> did it find 300 bugs? Are all those test cases passing on all filesystems? >>> Some test cases failing on some filesystems? >> >> CrashMonkey generates 300 workloads, out of which 3 tests result in >> bugs in two file systems (btrfs and F2FS). Others passed clean for >> ext4, xfs, btrfs and F2FS. Given that xfstest is a regression test >> suite, we thought it would be beneficial to add all 300 workloads to >> the generic test - > > Perhaps you should port a test or two so we can have a look at what > these tests are before we make any recomendations on the best way to > integrate them. 300 new tests is an awful lot to maintain if we ever > want to change anything.... I agree with this, do a couple and let people take a look. -Eric ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) 2018-10-22 4:15 ` Dave Chinner 2018-10-22 13:25 ` Eric Sandeen @ 2018-10-22 23:18 ` Jayashree Mohan 1 sibling, 0 replies; 18+ messages in thread From: Jayashree Mohan @ 2018-10-22 23:18 UTC (permalink / raw) To: Dave Chinner Cc: Amir Goldstein, Theodore Ts'o, Eryu Guan, Vijaychidambaram Velayudhan Pillai, fstests > Perhaps you should port a test or two so we can have a look at what > these tests are before we make any recomendations on the best way to > integrate them. 300 new tests is an awful lot to maintain if we ever > want to change anything.... I have written a patch for testing simple "hard link" behaviour. This patch batches 37 test cases generated by CrashMonkey into one xfstest test, all of them testing link behaviour. These 37 tests have been grouped based on the similarities, there are comments in the patch to describe what each group is testing for. On a high-level, we are testing the creation of hard links between files in same directory and files across two directories, while allowing fsync of either the files involved, their parent directories, or unrelated sibling files. We aim to convert the other CrashMonkey tests in the same way, batched by the type of file-system operation we test. This particular test took 10 seconds to run on my VM (Ubuntu 16.04, 2GB RAM, single core) on 100MB scratch partition. I have added per test case timer in this patch, which shows each test case takes about 0.25 seconds (to run, flakey_remount, test and cleanup). This test passes clean on ext4, xfs and F2FS. It will show three failed cases as of kernel 4.16 on btrfs (I think it's not yet patched on 4.19, so you should see the failure on the newest kernel as well). Thinking more about it, none of the CrashMonkey test cases check for resource exhaustion and hence we don't need more than 100MB of scratch device. If the per-test external overhead due to fsck/scrub etc depends on the scratch partition size, we can speed up the CrashMonkey tests by allowing a new device like scratch(much smaller in size - about 100-200MB). Additionally, our tests also do not need fsck to be run at the end. Is there a way to skip performing fsck after each test (if its something configurable in the test file) ? If this sort of patch seems fine to you, I can go ahead and port the other CrashMonkey tests in the same way. After batching, I hope there would be around 10-12 test files like the one attached here. Patch below: --- diff --git a/tests/generic/517-link b/tests/generic/517-link new file mode 100755 index 0000000..791b6c0 --- /dev/null +++ b/tests/generic/517-link @@ -0,0 +1,162 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2018 The University of Texas at Austin. All Rights Reserved. +# +# FS QA Test 517-link +# +# Test if we create a hard link to a file and persist either of the files, all the names persist. +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_cleanup; exit \$status" 0 1 2 3 15 + +_cleanup() +{ + _cleanup_flakey + cd / + rm -f $tmp.* +} + +init_start_time=$(date +%s.%N) +# get standard environment, filters and checks +. ./common/rc +. ./common/filter +. ./common/dmflakey + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here +_supported_fs generic +_supported_os Linux +_require_scratch +_require_dm_target flakey + +# initialize scratch device +_scratch_mkfs >>$seqres.full 2>&1 +_require_metadata_journaling $SCRATCH_DEV +_init_flakey +_mount_flakey +init_end_time=$(date +%s.%N) +init_time_elapsed=$(echo "$init_end_time-$init_start_time" | bc) +echo "Initialization time = $init_time_elapsed" >> $seqres.full + +stat_opt='-c "blocks: %b size: %s inode: %i links: %h"' +test_num=0 +total_time=0 + +cleanup() +{ + rm -rf $SCRATCH_MNT/* + sync +} + +# create a hard link $2 to file $1, and fsync $3, followed by power-cu +test_link() +{ + start_time=$(date +%s.%N) + test_num=$((test_num + 1)) + sibling=0 + before="" + after="" + echo -ne "\n=== Test $test_num : link $1 $2 " | tee -a $seqres.full + + # now execute the workload + mkdir -p "${1%/*}" && mkdir -p "${2%/*}" && touch "$1" + ln $1 $2 + + if [ -z "$3" ] + then + echo -ne " with sync ===\n" + sync + before=`stat "$stat_opt" $1` + else + echo " with fsync $3 ===" + + # If the file being persisted is a sibling, create it first + if [ ! -f $3 ] + then + sibling=1 + touch $3 + fi + + $XFS_IO_PROG -c "fsync" $3 | _filter_xfs_io + + if [ $sibling -ne 1 ] + then + before=`stat "$stat_opt" $1` + fi + fi + + _flakey_drop_and_remount | tee -a $seqres.full + + if [ -f $1 ] + then + after=`stat "$stat_opt" $1` + fi + + if [ "$before" != "$after" ] && [ $sibling -ne 1 ] + then + echo "Before: $before" | tee -a $seqres.full + echo "After: $after" | tee -a $seqres.full + fi + + cleanup + end_time=$(date +%s.%N) + time_elapsed=$(echo "$end_time-$start_time" | bc) + echo " Elapsed time : $time_elapsed" >> $seqres.full + total_time=$(echo "$total_time+$time_elapsed" | bc) + echo " Total time : $total_time" >> $seqres.full +} + +# run the link test for different combinations + +test_start_time=$(date +%s.%N) +# Group 1: Both files within root directory +for file_name in $SCRATCH_MNT $SCRATCH_MNT/foo $SCRATCH_MNT/bar; do + test_link $SCRATCH_MNT/foo $SCRATCH_MNT/bar $file_name +done +test_link $SCRATCH_MNT/foo $SCRATCH_MNT/bar + +# Group 2: Create hard link in a sub directory +for file_name in $SCRATCH_MNT $SCRATCH_MNT/foo $SCRATCH_MNT/bar $SCRATCH_MNT/A $SCRATCH_MNT/A/bar $SCRATCH_MNT/A/foo; do + test_link $SCRATCH_MNT/foo $SCRATCH_MNT/A/bar $file_name +done +test_link $SCRATCH_MNT/foo $SCRATCH_MNT/A/bar + +# Group 3: Create hard link in parent directory +for file_name in $SCRATCH_MNT $SCRATCH_MNT/foo $SCRATCH_MNT/bar $SCRATCH_MNT/A $SCRATCH_MNT/A/bar $SCRATCH_MNT/A/foo; do + test_link $SCRATCH_MNT/A/foo $SCRATCH_MNT/bar $file_name +done +test_link $SCRATCH_MNT/A/foo $SCRATCH_MNT/bar + +# Group 4: Both files within a directory other than root +for file_name in $SCRATCH_MNT $SCRATCH_MNT/A $SCRATCH_MNT/A/bar $SCRATCH_MNT/A/foo; do + test_link $SCRATCH_MNT/A/foo $SCRATCH_MNT/A/bar $file_name +done +test_link $SCRATCH_MNT/A/foo $SCRATCH_MNT/A/bar + +#Group 5: Exercise name reuse : Link file in sub-directory +for file_name in $SCRATCH_MNT $SCRATCH_MNT/foo $SCRATCH_MNT/bar $SCRATCH_MNT/A $SCRATCH_MNT/A/bar $SCRATCH_MNT/A/foo; do + test_link $SCRATCH_MNT/bar $SCRATCH_MNT/A/bar $file_name +done +test_link $SCRATCH_MNT/bar $SCRATCH_MNT/A/bar + +#Group 6: Exercise name reuse : Link file in parent directory +for file_name in $SCRATCH_MNT $SCRATCH_MNT/foo $SCRATCH_MNT/bar $SCRATCH_MNT/A $SCRATCH_MNT/A/bar $SCRATCH_MNT/A/foo; do + test_link $SCRATCH_MNT/A/bar $SCRATCH_MNT/bar $file_name +done +test_link $SCRATCH_MNT/A/bar $SCRATCH_MNT/bar + +test_end_time=$(date +%s.%N) +test_time_elapsed=$(echo "$test_end_time-$test_start_time" | bc) +echo "Test Elapsed time : $test_time_elapsed" >> $seqres.full + +# success, all done +status=0 +exit diff --git a/tests/generic/517-link.out b/tests/generic/517-link.out new file mode 100644 index 0000000..381b644 --- /dev/null +++ b/tests/generic/517-link.out @@ -0,0 +1,75 @@ +QA output created by 517-link + +=== Test 1 : link /mnt/scratch/foo /mnt/scratch/bar with fsync /mnt/scratch === + +=== Test 2 : link /mnt/scratch/foo /mnt/scratch/bar with fsync /mnt/scratch/foo === + +=== Test 3 : link /mnt/scratch/foo /mnt/scratch/bar with fsync /mnt/scratch/bar === + +=== Test 4 : link /mnt/scratch/foo /mnt/scratch/bar with sync === + +=== Test 5 : link /mnt/scratch/foo /mnt/scratch/A/bar with fsync /mnt/scratch === + +=== Test 6 : link /mnt/scratch/foo /mnt/scratch/A/bar with fsync /mnt/scratch/foo === + +=== Test 7 : link /mnt/scratch/foo /mnt/scratch/A/bar with fsync /mnt/scratch/bar === + +=== Test 8 : link /mnt/scratch/foo /mnt/scratch/A/bar with fsync /mnt/scratch/A === + +=== Test 9 : link /mnt/scratch/foo /mnt/scratch/A/bar with fsync /mnt/scratch/A/bar === + +=== Test 10 : link /mnt/scratch/foo /mnt/scratch/A/bar with fsync /mnt/scratch/A/foo === + +=== Test 11 : link /mnt/scratch/foo /mnt/scratch/A/bar with sync === + +=== Test 12 : link /mnt/scratch/A/foo /mnt/scratch/bar with fsync /mnt/scratch === + +=== Test 13 : link /mnt/scratch/A/foo /mnt/scratch/bar with fsync /mnt/scratch/foo === + +=== Test 14 : link /mnt/scratch/A/foo /mnt/scratch/bar with fsync /mnt/scratch/bar === + +=== Test 15 : link /mnt/scratch/A/foo /mnt/scratch/bar with fsync /mnt/scratch/A === + +=== Test 16 : link /mnt/scratch/A/foo /mnt/scratch/bar with fsync /mnt/scratch/A/bar === + +=== Test 17 : link /mnt/scratch/A/foo /mnt/scratch/bar with fsync /mnt/scratch/A/foo === + +=== Test 18 : link /mnt/scratch/A/foo /mnt/scratch/bar with sync === + +=== Test 19 : link /mnt/scratch/A/foo /mnt/scratch/A/bar with fsync /mnt/scratch === + +=== Test 20 : link /mnt/scratch/A/foo /mnt/scratch/A/bar with fsync /mnt/scratch/A === + +=== Test 21 : link /mnt/scratch/A/foo /mnt/scratch/A/bar with fsync /mnt/scratch/A/bar === + +=== Test 22 : link /mnt/scratch/A/foo /mnt/scratch/A/bar with fsync /mnt/scratch/A/foo === + +=== Test 23 : link /mnt/scratch/A/foo /mnt/scratch/A/bar with sync === + +=== Test 24 : link /mnt/scratch/bar /mnt/scratch/A/bar with fsync /mnt/scratch === + +=== Test 25 : link /mnt/scratch/bar /mnt/scratch/A/bar with fsync /mnt/scratch/foo === + +=== Test 26 : link /mnt/scratch/bar /mnt/scratch/A/bar with fsync /mnt/scratch/bar === + +=== Test 27 : link /mnt/scratch/bar /mnt/scratch/A/bar with fsync /mnt/scratch/A === + +=== Test 28 : link /mnt/scratch/bar /mnt/scratch/A/bar with fsync /mnt/scratch/A/bar === + +=== Test 29 : link /mnt/scratch/bar /mnt/scratch/A/bar with fsync /mnt/scratch/A/foo === + +=== Test 30 : link /mnt/scratch/bar /mnt/scratch/A/bar with sync === + +=== Test 31 : link /mnt/scratch/A/bar /mnt/scratch/bar with fsync /mnt/scratch === + +=== Test 32 : link /mnt/scratch/A/bar /mnt/scratch/bar with fsync /mnt/scratch/foo === + +=== Test 33 : link /mnt/scratch/A/bar /mnt/scratch/bar with fsync /mnt/scratch/bar === + +=== Test 34 : link /mnt/scratch/A/bar /mnt/scratch/bar with fsync /mnt/scratch/A === + +=== Test 35 : link /mnt/scratch/A/bar /mnt/scratch/bar with fsync /mnt/scratch/A/bar === + +=== Test 36 : link /mnt/scratch/A/bar /mnt/scratch/bar with fsync /mnt/scratch/A/foo === + +=== Test 37 : link /mnt/scratch/A/bar /mnt/scratch/bar with sync === diff --git a/tests/generic/group b/tests/generic/group index 47de978..dc04152 100644 --- a/tests/generic/group +++ b/tests/generic/group @@ -519,3 +519,4 @@ 514 auto quick clone 515 auto quick clone 516 auto quick dedupe clone +517-link crash ^ permalink raw reply related [flat|nested] 18+ messages in thread
end of thread, other threads:[~2018-10-23 7:38 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-15 20:58 Submitting patches to xfstests based on OSDI '18 paper (CrashMonkey) Jayashree Mohan
2018-10-21 10:45 ` Eryu Guan
2018-10-21 15:53 ` Jayashree Mohan
[not found] ` <CA+EzBbCd2zZ9sNW-dgyPyR5FH-HK5LArG6y+bPOCJ3Wqyp5=Ug@mail.gmail.com>
2018-10-21 22:21 ` Theodore Y. Ts'o
2018-10-21 22:52 ` Jayashree Mohan
2018-10-22 2:05 ` Dave Chinner
2018-10-22 2:35 ` Jayashree Mohan
2018-10-22 2:49 ` Amir Goldstein
2018-10-22 3:23 ` Jayashree Mohan
2018-10-22 4:02 ` Dave Chinner
2018-10-22 7:14 ` Theodore Y. Ts'o
2018-10-22 4:23 ` Amir Goldstein
2018-10-22 2:44 ` Amir Goldstein
2018-10-22 3:09 ` Jayashree Mohan
2018-10-22 3:47 ` Amir Goldstein
2018-10-22 4:15 ` Dave Chinner
2018-10-22 13:25 ` Eric Sandeen
2018-10-22 23:18 ` Jayashree Mohan
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.