From: Josef Bacik <jbacik@fusionio.com>
To: Chris Mason <clmason@fusionio.com>
Cc: Josef Bacik <JBacik@fusionio.com>, Zach Brown <zab@redhat.com>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>
Subject: Re: testing stable pages being modified
Date: Fri, 31 May 2013 10:34:13 -0400 [thread overview]
Message-ID: <20130531143413.GG9829@localhost.localdomain> (raw)
In-Reply-To: <20130531135329.14188.80309@localhost.localdomain>
On Fri, May 31, 2013 at 07:53:29AM -0600, Chris Mason wrote:
> Quoting Josef Bacik (2013-05-31 09:29:07)
> > On Fri, May 31, 2013 at 12:24:30AM -0600, Zach Brown wrote:
> > > > Changing O_DIRECT in flight has always been a deep dark corner case, and
> > > > crc errors are the expected result. Have you found anyone doing this in
> > > > real life?
> > >
> > > Agreed; and no, I haven't heard of people accidentally modifying stable
> > > pages.
> > >
> >
> > Windows does this, it also will send down the same page for different offsets
> > which is why we have that special check in check_direct_IO for reads because
> > that would cause lots of csum errors too. I tried to fix the modified in flight
> > problem by checking the csums of the pages in the io completion handler and
> > re-submitting the IO if the pages had changed, but this of course dramatically
> > reduced performance for all of those well behaved O_DIRECT applications, so in
> > the end I just set nodatasum for that vm image and carried on. I'm not sure
> > what the solution is for this problem. Thanks,
>
> Ugh, I forgot about the windows case. KVM should really be copying the
> pages for sectors where IO is already in flight.
>
> We could do the copies ourselves: mount -o dio_copies
>
That would work for us, but what about other people that rely on stable pages,
like *fs on iscsi and such? It might be good to have a generic mount option
that the vfs notices and makes the copying happen before it gets to the file
system and that way we're all save and don't have a different solution/mount
option for each fs. Thanks,
Josef
prev parent reply other threads:[~2013-05-31 14:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-30 22:36 testing stable pages being modified Zach Brown
2013-05-31 5:11 ` Chris Mason
2013-05-31 6:24 ` Zach Brown
2013-05-31 13:29 ` Josef Bacik
2013-05-31 13:53 ` Chris Mason
2013-05-31 14:34 ` Josef Bacik [this message]
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=20130531143413.GG9829@localhost.localdomain \
--to=jbacik@fusionio.com \
--cc=clmason@fusionio.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=zab@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).