[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m363nnf7c4.fsf@dmon-lap.sw.ru>
Date: Mon, 20 Oct 2008 22:29:47 +0400
From: Dmitri Monakhov <dmonakhov@...nvz.org>
To: Jens Axboe <jens.axboe@...cle.com>
Cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH] Add block device speciffic splice write method
Jens Axboe <jens.axboe@...cle.com> 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,
O_DIRECT case:
- sync case missed, some one may want use it with O_DIRECT|O_SYNC
- i'm not sure why it is necessary to always hold bd_inode->i_mutex
inside __splice_on_pice(.., pipe_to_disk)
!O_DIRECT case:
- still use generic_file_splice_write
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?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists