linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: jaxboe@fusionio.com, k-ueda@ct.jp.nec.com, snitzer@redhat.com,
	j-nomura@ce.jp.nec.com, jamie@shareable.org,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-raid@vge
Subject: [PATCHSET 2.6.36-rc2] block, dm: finish REQ_FLUSH/FUA conversion
Date: Fri, 27 Aug 2010 19:10:56 +0200	[thread overview]
Message-ID: <1282929060-23663-1-git-send-email-tj@kernel.org> (raw)

Hello,

This patchset converts dm to REQ_FLUSH/FUA, which was the last
remaining one.  I've put patches on top of the previous patches for
easier review.  The series can be trivially reordered so that the
order is more logical.  Jens, please let me know if you want it to be
reordered.

The dm conversion is _lightly_ tested.  Please proceed with caution.
In particular, I haven't tested dm implementation at all.  So, it
probably is best to hold off merging these bits until dm people can
verify the conversion is correct.

 0001-block-make-__blk_rq_prep_clone-copy-most-command-fla.patch
 0002-dm-implement-REQ_FLUSH-FUA-support.patch
 0003-dm-relax-ordering-of-bio-based-flush-implementation.patch
 0004-block-remove-the-WRITE_BARRIER-flag.patch

Differences from the previous attempt[1] are,

* I was wrong when I wrote that flush retry logic was dropped.  What
  got dropped was -EOPNOTSUPP handling.  The retry behavior used by
  multipath remains the same.  As blindly retrying flushes could be
  dangerous, a FIXME comment is added.

* bio-based dm now also advertises REQ_FLUSH | REQ_FUA capability as
  block layer now filters out REQ_FLUSH if not supported by the queue.

* 0002-dm-implement-REQ_FLUSH-FUA-support.patch added to update
  __blk_rq_prep_clone() to copy most REQ_* flags including FLUSH and
  FUA and request-based dm now advertises REQ_FLUSH | REQ_FUA support.

* dm_request_fn() now explicitly plugs other requests while a flush
  request is in progress.  This is to avoid starving flush sequence
  which uses device draining to check whether each step is complete.

* 0003-block-remove-the-WRITE_BARRIER-flag.patch added to drop
  needless ordering around flush handling.

This patchset is on top of "block, fs: replace HARDBARRIER with
FLUSH/FUA" patchset[2] and available in the following git tree

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git flush-fua

and contains the following changes.

 block/blk-core.c                |    4 
 drivers/md/dm-crypt.c           |    2 
 drivers/md/dm-io.c              |   20 --
 drivers/md/dm-log.c             |    2 
 drivers/md/dm-raid1.c           |    8 -
 drivers/md/dm-region-hash.c     |   16 +-
 drivers/md/dm-snap-persistent.c |    2 
 drivers/md/dm-snap.c            |    6 
 drivers/md/dm-stripe.c          |    2 
 drivers/md/dm.c                 |  277 +++++++++++++++-------------------------
 include/linux/blk_types.h       |    1 
 include/linux/fs.h              |    3 
 12 files changed, 131 insertions(+), 212 deletions(-)

Thanks.

--
tejun

[1] http://thread.gmane.org/gmane.linux.raid/29100/focus=29104
[2] http://thread.gmane.org/gmane.linux.kernel/1022363

             reply	other threads:[~2010-08-27 17:10 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-27 17:10 Tejun Heo [this message]
2010-08-27 17:10 ` [PATCH 1/4] block: make __blk_rq_prep_clone() copy most command flags Tejun Heo
2010-08-27 17:57   ` Mike Snitzer
2010-08-27 17:10 ` [PATCH 2/4] dm: implement REQ_FLUSH/FUA support Tejun Heo
2010-08-27 20:24   ` Mike Snitzer
2010-08-27 23:28     ` Tejun Heo
2010-08-28  0:35       ` Mike Snitzer
2010-08-27 17:10 ` [PATCH 3/4] dm: relax ordering of bio-based flush implementation Tejun Heo
2010-08-27 17:11 ` [PATCH 4/4] block: remove the WRITE_BARRIER flag Tejun Heo
2010-08-27 17:15 ` [PATCHSET 2.6.36-rc2] block, dm: finish REQ_FLUSH/FUA conversion 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=1282929060-23663-1-git-send-email-tj@kernel.org \
    --to=tj@kernel.org \
    --cc=j-nomura@ce.jp.nec.com \
    --cc=jamie@shareable.org \
    --cc=jaxboe@fusionio.com \
    --cc=k-ueda@ct.jp.nec.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-raid@vge \
    --cc=snitzer@redhat.com \
    /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).