From: Tao Ma <tm@tao.ma>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: linux-ext4@vger.kernel.org, sandeen@redhat.com, Jan Kara <jack@suse.cz>
Subject: Re: DIO process stuck apparently due to dioread_nolock (3.0)
Date: Mon, 15 Aug 2011 10:36:21 +0800 [thread overview]
Message-ID: <4E488625.609@tao.ma> (raw)
In-Reply-To: <4E48390E.9050102@msgid.tls.msk.ru>
On 08/15/2011 05:07 AM, Michael Tokarev wrote:
> 15.08.2011 00:57, Michael Tokarev пишет:
>> 13.08.2011 20:02, Tao Ma wrote:
>>> From: Tao Ma <boyu.mt@taobao.com>
>>>
>>> Hi Michael,
>>> could you please check whether this patch work for you?
>>
>> With this patch applied to 3.0.1 I can't trigger the issue anymore,
>> after several attempts -- the system just works as it shold be.
>> I'm not sure this is the right fix or it's just my testcase isn't
>> as good as it can be... ;)
Thanks for the test.
>
> Well, I found a way to trigger data corruption with this patch
> applied. I guess it's not fault of this patch, but some more
> deep problem instead.
>
> The sequence is my usual copy of an oracle database from another
> place and start it. When oracle starts doing it's direct-I/O
> against its redologs, we had problem which is now solved. But
> now I do the following: I shutdown the database, rename the current
> redologs out of the way and copy them back into place as new files.
> And start the database again.
>
> This time, oracle complains that the redologs contains garbage.
> I can reboot the machine now, and compare old (renamed) redologs
> with copies - they're indeed different.
>
> My guess is that copy is done from the pagecache - from the old
> contents of the files, somehow ignoring the (direct) writes
> performed by initial database open. But that copy is somehow
> damaged now too, since even file identification is now different.
>
> Is this new issue something that dioread_nolock supposed to create?
> I mean, it isn't entirely clear what it supposed to do, it looks
> somewhat hackish, but without it performance is quite bad.
So could I generalize your sequence like below:
1. copy a large file to a new ext4 volume
2. do some direct i/o read/write to this file(bs=512)
3. rename it.
4. cp this back to the original file
5. do direct i/o read/write(bs=512) now and the file is actually corrupted.
You used to meet with problem in step 2, and my patch resolved it. Now
you met with problems in step 5. Right?
Thanks
Tao
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-08-15 2:36 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-10 10:51 DIO process stuck apparently due to dioread_nolock (3.0) Michael Tokarev
2011-08-11 11:59 ` Jan Kara
2011-08-11 12:21 ` Michael Tokarev
2011-08-11 14:01 ` Jan Kara
2011-08-11 20:05 ` Michael Tokarev
2011-08-12 2:46 ` Jiaying Zhang
2011-08-12 6:23 ` Michael Tokarev
2011-08-12 7:07 ` Michael Tokarev
2011-08-12 13:07 ` Jan Kara
2011-08-12 15:55 ` Michael Tokarev
2011-08-12 17:01 ` Eric Sandeen
2011-08-12 17:34 ` Michael Tokarev
2011-08-13 16:02 ` Tao Ma
2011-08-14 20:57 ` Michael Tokarev
2011-08-14 21:07 ` Michael Tokarev
2011-08-15 2:36 ` Tao Ma [this message]
2011-08-15 8:00 ` Michael Tokarev
2011-08-15 8:56 ` Michael Tokarev
2011-08-15 9:03 ` Michael Tokarev
2011-08-15 10:28 ` Tao Ma
2011-08-15 23:53 ` Jiaying Zhang
2011-08-16 4:15 ` Tao Ma
2011-08-16 8:38 ` Michael Tokarev
2011-08-16 13:53 ` Jan Kara
2011-08-16 15:03 ` Tao Ma
2011-08-16 21:32 ` Jiaying Zhang
2011-08-16 22:28 ` Michael Tokarev
2011-08-16 23:07 ` Jiaying Zhang
2011-08-17 17:02 ` Ted Ts'o
2011-08-18 6:49 ` Michael Tokarev
2011-08-18 18:54 ` Jiaying Zhang
2011-08-19 3:20 ` Tao Ma
2011-08-19 3:18 ` Tao Ma
2011-08-19 7:05 ` Michael Tokarev
2011-08-19 17:55 ` Jiaying Zhang
2011-08-16 23:59 ` Dave Chinner
2011-08-17 0:08 ` Jiaying Zhang
2011-08-17 2:22 ` Tao Ma
2011-08-17 9:04 ` Jan Kara
2011-08-15 16:08 ` Eric Sandeen
2011-08-16 4:12 ` Tao Ma
2011-08-16 6:15 ` Tao Ma
2011-08-12 21:19 ` Jan Kara
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=4E488625.609@tao.ma \
--to=tm@tao.ma \
--cc=jack@suse.cz \
--cc=linux-ext4@vger.kernel.org \
--cc=mjt@tls.msk.ru \
--cc=sandeen@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).