Re: [PATCH 2/9] vfs: export do_splice_direct() to modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 19, 2013 at 2:38 AM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux