From: Theodore Ts'o <tytso@mit.edu>
To: Ashlie Martinez <ashmrtn@utexas.edu>
Cc: Amir Goldstein <amir73il@gmail.com>,
Vijay Chidambaram <vvijay03@gmail.com>,
Ext4 <linux-ext4@vger.kernel.org>
Subject: Re: ext4 fix for interaction between i_size, fallocate, and delalloc after a crash
Date: Wed, 29 Nov 2017 19:48:16 -0500 [thread overview]
Message-ID: <20171130004816.pdzfqjluchtvfq6u@thunk.org> (raw)
In-Reply-To: <CAFk8rvY9_-GxghCA43G9JoVqw-8NTG7-oRxEcV_cudcgDcy=rQ@mail.gmail.com>
On Wed, Nov 29, 2017 at 01:58:53PM -0600, Ashlie Martinez wrote:
> Ted,
>
> 1. write 0x137dd 0xdc69 0x0
> 2. fallocate 0xb531 0xb5ad 0x21446
> 3. collapse_range 0x1c000 0x4000 0x21446
> 4. write 0x3e5ec 0x1a14 0x21446
> 5. zero_range 0x20fac 0x6d9c 0x40000 keep_size
>
> I have made a CrashMonkey test that runs the same operations run by
> xfstests generic/456 as I wanted a bit more control over the test. My
> test runs operations 1-3 from the list above, and then runs sleep(30).
> After that, it runs operations 4 and 5 (I skipped operation 6 as it
> doesn't seem to be related to the underlying cause of the bug).
> CrashMonkey then waits a further 120 seconds for IO to trickle down to
> the block device.
So I'm not sure exactly what Crashmonkey is doing here. Are you
forcing a crash, or not?
So here's my test which I think should replicate what you are doing.
1. Start "kvm-xfstests shell"
2. Create the fsxops file:
cat > /tmp/fsxops
write 0x137dd 0xdc69 0x0
fallocate 0xb531 0xb5ad 0x21446
collapse_range 0x1c000 0x4000 0x21446
write 0x3e5ec 0x1a14 0x21446
zero_range 0x20fac 0x6d9c 0x40000 keep_size
<type control-d>
3. Create a scratch file system and mount it:
mke2fs -Fq -t ext4 /dev/vdc
mount /vdc
4. Run fsx:
./xfstests/ltp/fsx -d --replay-ops /tmp/fsxops /vdc/testfile
5. Since I'm too lazy to wait 120 seconds, just force everything to disk:
sync
6a. Unmount the file system and check it:
umount /vdc
e2fsck -fy /dev/vdc
6b. Force a crash, and then restart kvm-xfstests shell, and then check the file system:
<type control-A followed by 'x'>
kvm-xfstests shell
e2fsck -fy /dev/vdc
In both cases, e2fsck does not complain. In the 6b variant, e2fsck
will replay the journal first, but other than that, no real differences.
So, tell me --- how is what I am doing any different from your Crashmonkey test?
- Ted
next prev parent reply other threads:[~2017-11-30 0:48 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-17 15:43 ext4 fix for interaction between i_size, fallocate, and delalloc after a crash Ashlie Martinez
2017-11-21 16:17 ` Ashlie Martinez
2017-11-22 18:03 ` Theodore Ts'o
2017-11-23 5:39 ` Amir Goldstein
2017-11-27 14:31 ` Ashlie Martinez
2017-11-27 16:11 ` Theodore Ts'o
2017-11-28 13:04 ` Ashlie Martinez
2017-11-28 20:45 ` Theodore Ts'o
2017-11-28 21:27 ` Ashlie Martinez
2017-11-29 3:37 ` Amir Goldstein
2017-11-29 6:13 ` Theodore Ts'o
2017-11-29 8:07 ` Amir Goldstein
2017-11-29 19:58 ` Ashlie Martinez
2017-11-30 0:48 ` Theodore Ts'o [this message]
2017-11-30 1:46 ` Ashlie Martinez
2017-11-30 4:46 ` Theodore Ts'o
2017-11-30 14:22 ` Theodore Ts'o
2017-11-30 14:51 ` Ashlie Martinez
2017-11-30 15:27 ` Theodore Ts'o
2017-11-30 15:40 ` Ashlie Martinez
2017-12-02 20:00 ` Ashlie Martinez
2017-11-30 0:24 ` Theodore Ts'o
2017-11-30 6:46 ` Amir Goldstein
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171130004816.pdzfqjluchtvfq6u@thunk.org \
--to=tytso@mit.edu \
--cc=amir73il@gmail.com \
--cc=ashmrtn@utexas.edu \
--cc=linux-ext4@vger.kernel.org \
--cc=vvijay03@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.