Messages in this thread | | | Date | Wed, 30 Jul 2008 17:54:20 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [patch v3] splice: fix race with page invalidation |
| |
On Wed, 30 Jul 2008, Linus Torvalds wrote: > > Personally, I think the right approach is to just realize that splice() is > _not_ a write() system call, and never will be. If you need synchronous > writing, you simply shouldn't use splice().
Side note: in-kernel users could probably do somethign about this. IOW, if there's some in-kernel usage (and yes, knfsd would be a prime example), that one may actually be able to do things that a _user_level user of splice() could never do.
That includes things like getting the inode semaphore over a write (so that you can guarantee that pages that are in flight are not modified, except again possibly by other mmap users), and/or a per-page callback for when splice() is done with a page (so that you could keep the page locked while it's getting spliced, for example).
And no, we don't actually have that either, of course.
Linus
| |