lkml.org 
[lkml]   [2013]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 2/9] vfs: export do_splice_direct() to modules
From
On Tue, Mar 19, 2013 at 2:38 AM, Al Viro <viro@zeniv.linux.org.uk> wrote:
> On Mon, Mar 18, 2013 at 11:01:03PM +0000, Al Viro wrote:
>
>> I'm looking at the existing callers and I really wonder if we ought to
>> push sb_start_write() from ->splice_write()/->aio_write()/etc. into the
>> callers.
>>
>> Something like file_start_write()/file_end_write(), with check for file
>> being regular one might be a good starting point. As it is, copyup is
>> really fucked both in unionmount and overlayfs...
>
> BTW, I wonder what's the right locking for that sucker; overlayfs is probably
> too heavy - we are talking about copying a file from one fs to another, which
> can obviously take quite a while, so holding ->i_mutex on _parent_ all along
> is asking for very serious contention.

Copy up is a once-in-a-lifetime event for an object. Optimizing it is
way down in the list of things to do. I'd drop splice in a jiffy if
it's in the way.

Much more interesting question: what happens if we crash during a
rename? Whiteout implemented in the filesystem won't save us. And
the results are interesting: old versions of files become visible and
similar fun. Far from likely to happen, but ...

Add a rename-with-whiteout primitive on filesystems? That one is not
going to be as simple as plain whiteout. Or?

Thanks,
Miklos


\
 
 \ /
  Last update: 2013-03-19 13:43    [W:0.207 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site