linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 

      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).