Re: [PATCH] Add block device speciffic splice write method

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

 



On Mon, Oct 20 2008, Dmitri Monakhov wrote:
> Jens Axboe <jens.axboe@xxxxxxxxxx> writes:
> 
> > On Sun, Oct 19 2008, Dmitri Monakhov wrote:
> >> Block device write procedure is different from regular file:
> >>  - Actual write performed without i_mutex.
> >>  - It has no metadata, so generic_osync_inode(O_SYNCMETEDATA) can not livelock.
> >>  - We do not have to worry about S_ISUID/S_ISGID bits.
> >
> > I already did an O_DIRECT part of block device splicing [1], I'll fold
> > this into the splice branch and double check with some testing.
> >
> > [1] http://git.kernel.dk/?p=linux-2.6-block.git;a=commitdiff;h=fbb724a0484aba938024d41ca1dd86337d2550c9;hp=08c7910b275a4c580ad646ae8654439c8dfae4c5
> Ok i've missed this branch :(, your approach is really cool.
> But current patch seems not completely ready, 

Not surprising, it's still pretty fresh. The core of it works, which was
the first objective :-)

> O_DIRECT case:
>   - sync case missed, some one may want use it with O_DIRECT|O_SYNC

Good point, I'll update that to wait on in-progress bios.

>   - i'm not sure why it is necessary to always hold bd_inode->i_mutex
>     inside __splice_on_pice(.., pipe_to_disk)

It is not, I'll drop that too.

> !O_DIRECT case:
>   - still use generic_file_splice_write

Well, the patch adds O_DIRECT support, so that's not really a missing
piece!

> So I'll re-base to your patch and:
>  - add appropriate fixes  necessary fixes for direct case.
>  - redone my patch on top of yours for buffered writes.
> 
> What do you think?

Please just send a patch for the missing bits on top of the current
splice branch, that includes the patch I sent which is a rebased version
of yours.

-- 
Jens Axboe

--
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