From: Mike Snitzer <snitzer@redhat.com>
To: Tejun Heo <tj@kernel.org>
Cc: jack@suse.cz, mst@redhat.com, linux-ide@vger.kernel.org,
dm-devel@redhat.com, James.Bottomley@suse.de,
konishi.ryusuke@lab.ntt.co.jp,
Jun'ichi Nomura <j-nomura@ce.jp.nec.com>,
hch@lst.de, Kiyoshi Ueda <k-ueda@ct.jp.nec.com>,
vst@vlnb.net, linux-scsi@vger.kernel.org, rusty@rustcorp.com.au,
linux-raid@vger.kernel.org, Mikulas Patocka <mpatocka@redhat.com>,
swhiteho@redhat.com, chris.mason@oracle.com, tytso@mit.edu,
jaxboe@fusionio.com, linux-kernel@vger.kernel.org,
linux-fsdevel@vger.kernel.org, rwheeler@redhat.com
Subject: Re: [PATCH 5/5] dm: implement REQ_FLUSH/FUA support
Date: Tue, 17 Aug 2010 14:21:31 -0400 [thread overview]
Message-ID: <20100817182130.GA31737@redhat.com> (raw)
In-Reply-To: <4C6ABE12.40705@kernel.org>
On Tue, Aug 17 2010 at 12:51pm -0400,
Tejun Heo <tj@kernel.org> wrote:
> Hello,
>
> On 08/17/2010 04:07 PM, Mike Snitzer wrote:
> >> With the patch applied, there's no second flush. Those requests would
> >> now be REQ_FLUSH + REQ_DISCARD. The first can't be avoided anyway and
> >> there won't be the second flush to begin with, so I don't think this
> >> worsens anything.
> >
> > Makes sense, but your patches still need to be refreshed against the
> > latest (2.6.36-rc1) upstream code. Numerous changes went in to DM
> > recently.
>
> Sure thing. The block part isn't fixed yet and so the RFC tag. Once
> the block layer part is settled, it probably should be pulled into
> dm/md and other trees and conversions should happen there.
Why base your work on a partial 2.6.36 tree? Why not rebase to linus'
2.6.36-rc1?
Once we get the changes in a more suitable state (across the entire
tree) we can split the individual changes out to their respective
trees. Without a comprehensive tree I fear this code isn't going to get
tested or reviewed properly.
For example: any review of DM changes, against stale DM code, is wasted
effort.
> >> * For request based dm:
> >>
> >> * The sequencing is done by the block layer for the top level
> >> request_queue, so the only things request based dm needs to make
> >> sure is 1. handling empty REQ_FLUSH correctly (block layer will
> >> only send down empty REQ_FLUSHes) and 2. propagate REQ_FUA bit to
> >> member devices.
> >
> > OK, so seems 1 is done, 2 is still TODO. Looking at your tree it seems
> > 2 would be as simple as using the following in
>
> Oh, I was talking about the other way around. Passing REQ_FUA in
> bio->bi_rw down to member request_queues. Sometimes while
> constructing clone / split bios, the bit is lost (e.g. md raid5).
Seems we need to change __blk_rq_prep_clone to propagate REQ_FUA just
like REQ_DISCARD: http://git.kernel.org/linus/3383977
Doesn't seem like we need to do the same for REQ_FLUSH (at least not for
rq-based DM's benefit) because dm.c:setup_clone already special cases
flush requests and sets REQ_FLUSH in cmd_flags.
Mike
WARNING: multiple messages have this Message-ID (diff)
From: Mike Snitzer <snitzer@redhat.com>
To: Tejun Heo <tj@kernel.org>
Cc: jaxboe@fusionio.com, linux-fsdevel@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-raid@vger.kernel.org,
hch@lst.de, James.Bottomley@suse.de, tytso@mit.edu,
chris.mason@oracle.com, swhiteho@redhat.com,
konishi.ryusuke@lab.ntt.co.jp, dm-devel@redhat.com, vst@vlnb.net,
jack@suse.cz, rwheeler@redhat.com, hare@suse.de, neilb@suse.de,
rusty@rustcorp.com.au, mst@redhat.com,
Mikulas Patocka <mpatocka@redhat.com>,
Kiyoshi Ueda <k-ueda@ct.jp.nec.com>,
"Jun'ichi Nomura" <j-nomura@ce.jp.nec.com>
Subject: Re: [PATCH 5/5] dm: implement REQ_FLUSH/FUA support
Date: Tue, 17 Aug 2010 14:21:31 -0400 [thread overview]
Message-ID: <20100817182130.GA31737@redhat.com> (raw)
In-Reply-To: <4C6ABE12.40705@kernel.org>
On Tue, Aug 17 2010 at 12:51pm -0400,
Tejun Heo <tj@kernel.org> wrote:
> Hello,
>
> On 08/17/2010 04:07 PM, Mike Snitzer wrote:
> >> With the patch applied, there's no second flush. Those requests would
> >> now be REQ_FLUSH + REQ_DISCARD. The first can't be avoided anyway and
> >> there won't be the second flush to begin with, so I don't think this
> >> worsens anything.
> >
> > Makes sense, but your patches still need to be refreshed against the
> > latest (2.6.36-rc1) upstream code. Numerous changes went in to DM
> > recently.
>
> Sure thing. The block part isn't fixed yet and so the RFC tag. Once
> the block layer part is settled, it probably should be pulled into
> dm/md and other trees and conversions should happen there.
Why base your work on a partial 2.6.36 tree? Why not rebase to linus'
2.6.36-rc1?
Once we get the changes in a more suitable state (across the entire
tree) we can split the individual changes out to their respective
trees. Without a comprehensive tree I fear this code isn't going to get
tested or reviewed properly.
For example: any review of DM changes, against stale DM code, is wasted
effort.
> >> * For request based dm:
> >>
> >> * The sequencing is done by the block layer for the top level
> >> request_queue, so the only things request based dm needs to make
> >> sure is 1. handling empty REQ_FLUSH correctly (block layer will
> >> only send down empty REQ_FLUSHes) and 2. propagate REQ_FUA bit to
> >> member devices.
> >
> > OK, so seems 1 is done, 2 is still TODO. Looking at your tree it seems
> > 2 would be as simple as using the following in
>
> Oh, I was talking about the other way around. Passing REQ_FUA in
> bio->bi_rw down to member request_queues. Sometimes while
> constructing clone / split bios, the bit is lost (e.g. md raid5).
Seems we need to change __blk_rq_prep_clone to propagate REQ_FUA just
like REQ_DISCARD: http://git.kernel.org/linus/3383977
Doesn't seem like we need to do the same for REQ_FLUSH (at least not for
rq-based DM's benefit) because dm.c:setup_clone already special cases
flush requests and sets REQ_FLUSH in cmd_flags.
Mike
next prev parent reply other threads:[~2010-08-17 18:21 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-16 16:51 [RFC PATCHSET block#for-2.6.36-post] block: convert to REQ_FLUSH/FUA Tejun Heo
2010-08-16 16:51 ` Tejun Heo
2010-08-16 16:51 ` [PATCH 1/5] block/loop: implement REQ_FLUSH/FUA support Tejun Heo
2010-08-16 16:51 ` Tejun Heo
2010-08-16 16:51 ` Tejun Heo
2010-08-16 16:52 ` [PATCH 2/5] virtio_blk: " Tejun Heo
2010-08-16 16:52 ` Tejun Heo
2010-08-16 18:33 ` Christoph Hellwig
2010-08-17 8:17 ` Tejun Heo
2010-08-17 13:23 ` Christoph Hellwig
2010-08-17 16:22 ` Tejun Heo
2010-08-18 10:22 ` Rusty Russell
2010-08-17 1:16 ` Rusty Russell
2010-08-17 8:18 ` Tejun Heo
2010-08-19 15:14 ` [PATCH 2/5 UPDATED] virtio_blk: drop REQ_HARDBARRIER support Tejun Heo
2010-08-16 16:52 ` [PATCH 2/5] virtio_blk: implement REQ_FLUSH/FUA support Tejun Heo
2010-08-16 16:52 ` [PATCH 3/5] lguest: replace VIRTIO_F_BARRIER support with VIRTIO_F_FLUSH/FUA support Tejun Heo
2010-08-16 16:52 ` Tejun Heo
2010-08-16 16:52 ` Tejun Heo
2010-08-19 15:15 ` [PATCH 3/5] lguest: replace VIRTIO_F_BARRIER support with VIRTIO_F_FLUSH support Tejun Heo
2010-08-16 16:52 ` [PATCH 4/5] md: implment REQ_FLUSH/FUA support Tejun Heo
2010-08-16 16:52 ` Tejun Heo
2010-08-24 5:41 ` Neil Brown
2010-08-25 11:22 ` [PATCH UPDATED " Tejun Heo
2010-08-25 11:42 ` Neil Brown
2010-08-16 16:52 ` [PATCH " Tejun Heo
2010-08-16 16:52 ` [PATCH 5/5] dm: implement " Tejun Heo
2010-08-16 16:52 ` Tejun Heo
2010-08-16 16:52 ` Tejun Heo
2010-08-16 19:02 ` Mike Snitzer
2010-08-17 9:33 ` Tejun Heo
2010-08-17 13:13 ` Christoph Hellwig
2010-08-17 14:07 ` Mike Snitzer
2010-08-17 16:51 ` Tejun Heo
2010-08-17 18:21 ` Mike Snitzer [this message]
2010-08-17 18:21 ` Mike Snitzer
2010-08-18 6:32 ` Tejun Heo
2010-08-19 10:32 ` Kiyoshi Ueda
2010-08-19 15:45 ` Tejun Heo
2010-08-18 9:53 ` [RFC PATCHSET block#for-2.6.36-post] block: convert to REQ_FLUSH/FUA Christoph Hellwig
2010-08-18 14:26 ` James Bottomley
2010-08-18 14:33 ` Christoph Hellwig
2010-08-19 15:37 ` FUJITA Tomonori
2010-08-19 15:41 ` Christoph Hellwig
2010-08-19 15:56 ` FUJITA Tomonori
2010-08-23 16:47 ` Christoph Hellwig
2010-08-24 9:51 ` Lars Ellenberg
2010-08-24 15:45 ` Philipp Reisner
[not found] ` <20101022083511.GA7853@lst.de>
2010-10-23 11:18 ` [GIT PULL] convert DRBD " Philipp Reisner
2010-10-23 11:21 ` Christoph Hellwig
2010-10-23 16:48 ` Jens Axboe
2010-10-23 16:59 ` [PATCH] block: remove REQ_HARDBARRIER Christoph Hellwig
2010-10-23 17:17 ` Matthew Wilcox
2010-10-23 19:07 ` Jens Axboe
2010-10-24 11:58 ` Christoph Hellwig
2010-11-10 13:42 ` Christoph Hellwig
2010-11-10 13:59 ` Jens Axboe
2010-10-23 19:08 ` Jens Axboe
2010-10-25 8:54 ` Tejun Heo
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=20100817182130.GA31737@redhat.com \
--to=snitzer@redhat.com \
--cc=James.Bottomley@suse.de \
--cc=chris.mason@oracle.com \
--cc=dm-devel@redhat.com \
--cc=hch@lst.de \
--cc=j-nomura@ce.jp.nec.com \
--cc=jack@suse.cz \
--cc=jaxboe@fusionio.com \
--cc=k-ueda@ct.jp.nec.com \
--cc=konishi.ryusuke@lab.ntt.co.jp \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=mst@redhat.com \
--cc=rusty@rustcorp.com.au \
--cc=rwheeler@redhat.com \
--cc=swhiteho@redhat.com \
--cc=tj@kernel.org \
--cc=tytso@mit.edu \
--cc=vst@vlnb.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.