linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: Dmitri Monakhov <dmonakhov@openvz.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH] Add block device speciffic splice write method
Date: Mon, 20 Oct 2008 20:33:42 +0200	[thread overview]
Message-ID: <20081020183341.GL19428@kernel.dk> (raw)
In-Reply-To: <m363nnf7c4.fsf@dmon-lap.sw.ru>

On Mon, Oct 20 2008, Dmitri Monakhov wrote:
> Jens Axboe <jens.axboe@oracle.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, 

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

      reply	other threads:[~2008-10-20 18:33 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-19 14:00 [PATCH] Add block device speciffic splice write method Dmitri Monakhov
2008-10-20 17:49 ` Jens Axboe
2008-10-20 18:11   ` Jens Axboe
2008-10-20 18:42     ` Dmitri Monakhov
2008-10-23  5:39     ` Andrew Morton
2008-10-23  6:29       ` Jens Axboe
2008-10-23  6:41         ` Andrew Morton
2008-10-23  6:51           ` Jens Axboe
2008-10-23  7:03             ` Andrew Morton
2008-10-23  7:16               ` Jens Axboe
2008-10-23  8:41       ` Dmitri Monakhov
2008-10-20 18:29   ` Dmitri Monakhov
2008-10-20 18:33     ` Jens Axboe [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081020183341.GL19428@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=dmonakhov@openvz.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).