From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Mark Fasheh <mark.fasheh@oracle.com>
Cc: Nick Piggin <npiggin@suse.de>,
linux-kernel@vger.kernel.org, akpm@osdl.org,
linux-fsdevel@vger.kernel.org
Subject: Re: + fs-prepare_write-fixes.patch added to -mm tree
Date: Fri, 20 Oct 2006 09:27:02 +1000 [thread overview]
Message-ID: <453809C6.20708@yahoo.com.au> (raw)
In-Reply-To: <20061019230900.GE10128@ca-server1.us.oracle.com>
Mark Fasheh wrote:
> On Thu, Oct 19, 2006 at 07:25:37AM +0200, Nick Piggin wrote:
>
>>I sent an RFC to linux-fsdevel, did you get that?
>
> Yeah, I don't think I thought of my concerns at the time.
>
>
>
>>I was planning to cc some maintainers, including you, for those
>>filesystems that are non-trivial. I just hadn't had a chance to
>>test it properly last night.
>
> Cool, I appreciate that.
OK, I will be posting that mail tomorrow or next day... I'll summarise
your concerns you've posted in this thread too.
>>OK thanks for looking at that. If the length of the commit is greater
>>than 0 (but still short), then the page is uptodate so it should be
>>fine to commit what we have written, I think?
>
> That seems to make sense to me.
>
>
>
>>If the length is zero, then we probably want to roll back entirely.
>
> The thing is, rollback might be hard (or expensive) for some file systems
> with more complicated tree implementations, etc.
>
> Do we have the option in this case of just zeroing the newly allocated
> portions and writing them out? Userspace would then just be seeing
> that like any other hole.
Sure that's possible. You could even recognise that it is a hole in your
prepare_write, and zero the page and set it uptodate there.
You probably don't actually want to do that, because it means a double
overwrite in the case of a page sized,aligned write... but you have a
fairly broad scope of what you can do here. You are holding i_mutex and
the page lock, and the rest is up to you.
zeroing out the hole and marking it uptodate in case of a 0 length
->commit_write does sound like the right way to go. I probably haven't
handled that correctly if it needs to be done in ext? or generic fs/
routines...
--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
next prev parent reply other threads:[~2006-10-19 23:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200610182150.k9ILoLNk019702@shell0.pdx.osdl.net>
2006-10-19 1:42 ` + fs-prepare_write-fixes.patch added to -mm tree Mark Fasheh
2006-10-19 5:25 ` Nick Piggin
2006-10-19 23:09 ` Mark Fasheh
2006-10-19 23:27 ` Nick Piggin [this message]
2006-10-20 18:55 ` Mark Fasheh
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=453809C6.20708@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.fasheh@oracle.com \
--cc=npiggin@suse.de \
/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.