From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: jamie@shareable.org, torvalds@linux-foundation.org,
jens.axboe@oracle.com, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
akpm@linux-foundation.org, hugh@veritas.com
Subject: Re: [patch 1/2] mm: dont clear PG_uptodate in invalidate_complete_page2()
Date: Mon, 7 Jul 2008 16:38:31 +1000 [thread overview]
Message-ID: <200807071638.32955.nickpiggin@yahoo.com.au> (raw)
In-Reply-To: <E1KBZqG-0008OZ-Pw@pomaz-ex.szeredi.hu>
On Thursday 26 June 2008 04:35, Miklos Szeredi wrote:
> > > I also really don't think this even fixes the problems you have with
> > > FUSE/NFSD - because you'll still be reading zeroes for a truncated
> > > file. Yes, you get the rigth counts, but you don't get the right data.
> >
> > ...
> >
> > > That's "correct" from a splice() kind of standpoint (it's essentially a
> > > temporary mmap() with MAP_PRIVATE), but the thing is, it just sounds
> > > like the whole "page went away" thing is a more fundamental issue. It
> > > sounds like nfds should hold a read-lock on the file while it has any
> > > IO in flight, or something like that.
> >
> > I'm thinking any kind of user-space server using splice() will not
> > want to transmit zeros either, when another process truncates the file.
> > E.g. Apache, Samba, etc.
> >
> > Does this problem affect sendfile() users?
>
> AFAICS it does.
>
> And I agree, that splice should handle truncation better. But as I
> said, this affects every single filesystem out there. And yes, my
> original patch wouldn't solve this (although it wouldn't make it
> harder to solve either).
>
> However the page invalidation issue is completely orthogonal, and only
> affects a few filesystems which call invalidate_complete_page2(),
> namely: 9p, afs, fuse and nfs.
I don't know what became of this thread, but I agree with everyone else
you should not skip clearing PG_uptodate here. If nothing else, it
weakens some important assertions in the VM. But I agree that splice
should really try harder to work with it and we should be a little
careful about just changing things like this.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2008-07-07 6:38 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-25 12:40 [patch 0/2] splice: fix nfs export of fuse filesystems Miklos Szeredi
2008-06-25 12:40 ` [patch 1/2] mm: dont clear PG_uptodate in invalidate_complete_page2() Miklos Szeredi, Miklos Szeredi
2008-06-25 13:11 ` Evgeniy Polyakov
2008-06-25 13:32 ` Miklos Szeredi
2008-06-25 14:16 ` Evgeniy Polyakov
2008-06-25 14:41 ` Miklos Szeredi
2008-06-25 15:30 ` Evgeniy Polyakov
2008-06-25 15:59 ` Miklos Szeredi
2008-06-25 16:18 ` Evgeniy Polyakov
2008-06-25 15:47 ` Evgeniy Polyakov
2008-06-25 16:02 ` Miklos Szeredi
2008-06-25 16:19 ` Evgeniy Polyakov
2008-06-25 15:11 ` Linus Torvalds
2008-06-25 15:29 ` Miklos Szeredi
2008-06-25 16:30 ` Linus Torvalds
2008-06-25 16:42 ` Miklos Szeredi
2008-06-25 17:38 ` Jamie Lokier
2008-06-25 18:35 ` Miklos Szeredi
2008-07-07 6:38 ` Nick Piggin [this message]
2008-07-07 9:21 ` Miklos Szeredi
2008-07-07 10:12 ` Miklos Szeredi
2008-07-07 11:01 ` Nick Piggin
2008-07-07 12:03 ` Miklos Szeredi
2008-07-07 12:17 ` Nick Piggin
2008-07-07 12:52 ` Miklos Szeredi
2008-07-07 14:28 ` Nick Piggin
2008-07-07 15:08 ` Miklos Szeredi
2008-07-08 2:22 ` Nick Piggin
2008-07-07 10:43 ` Nick Piggin
2008-06-25 12:40 ` [patch 2/2] splice: fix generic_file_splice_read() race with page invalidation Miklos Szeredi, Miklos Szeredi
2008-06-25 13:00 ` Jens Axboe
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=200807071638.32955.nickpiggin@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@linux-foundation.org \
--cc=hugh@veritas.com \
--cc=jamie@shareable.org \
--cc=jens.axboe@oracle.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=miklos@szeredi.hu \
--cc=torvalds@linux-foundation.org \
/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