All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: jaxboe@fusionio.com, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-ide@vger.kernel.org, linux-raid@vger.kernel.org
Subject: [PATCHSET #upstream] block, fs: replace HARDBARRIER with FLUSH/FUA, take#2
Date: Fri,  3 Sep 2010 12:29:15 +0200	[thread overview]
Message-ID: <1283509796-1510-1-git-send-email-tj@kernel.org> (raw)

Hello,

This patchset is combination of the following two patchsets.

 [1] block, fs: replace HARDBARRIER with FLUSH/FUA
 [2] block, dm: finish REQ_FLUSH/FUA conversion, take#2

Changes from the previous postings are

* Rebased on top of v2.6.36-rc3.

* 0010-block-implement-REQ_FLUSH-FUA-based-interface-for-FL.patch
  description updated to include why special -EOPNOTSUPP handling is
  no longer necessary as suggested by Mike Snitzer.

* 0025-dm-relax-ordering-of-bio-based-flush-implementation.patch
  description updated to include why flush_error and special error
  handling logic are no longer necessary as suggested by Mike
  Snitzer.

* 0013-block-initialize-flush-request-with-WRITE_FLUSH-inst.patch and
  0014-block-kick-queue-after-sequencing-REQ_FLUSH-FUA.patch added.
  These fixes aren't strictly required by the current users but remove
  fishy corner cases.

* 0015-block-make-sure-FSEQ_DATA-request-has-the-same-rq_di.patch
  added.  This is needed to make requested based dm work.

* 0026-dm-fix-locking-context-in-queue_io.patch added.  This fixes
  locking context problem introduced by
  0025-dm-relax-ordering-of-bio-based-flush-implementation.patch.

* Tested/Reviewed-by's added and patches reordered such that block
  layer conversion comes first followed by block driver conversions,
  filesystem conversions and then finally removal of deprecate stuff.

I think the patchset is mostly ready now although I would love to have
acked/reviewd-by's on bio-based dm conversion patches.  Jens,
Christoph, how do you guys wanna steer these patches?  I think it
would be best to go through the block tree but splitting parts and
doing cross tree pull/merges should be doable too.

This patchset contains the following patches

  0001-ide-remove-unnecessary-blk_queue_flushing-test-in-do.patch
  0002-block-loop-queue-ordered-mode-should-be-DRAIN_FLUSH.patch
  0003-block-kill-QUEUE_ORDERED_BY_TAG.patch
  0004-block-deprecate-barrier-and-replace-blk_queue_ordere.patch
  0005-block-remove-spurious-uses-of-REQ_HARDBARRIER.patch
  0006-block-misc-cleanups-in-barrier-code.patch
  0007-block-drop-barrier-ordering-by-queue-draining.patch
  0008-block-rename-blk-barrier.c-to-blk-flush.c.patch
  0009-block-rename-barrier-ordered-to-flush.patch
  0010-block-implement-REQ_FLUSH-FUA-based-interface-for-FL.patch
  0011-block-filter-flush-bio-s-in-__generic_make_request.patch
  0012-block-simplify-queue_next_fseq.patch
  0013-block-initialize-flush-request-with-WRITE_FLUSH-inst.patch
  0014-block-kick-queue-after-sequencing-REQ_FLUSH-FUA.patch
  0015-block-make-sure-FSEQ_DATA-request-has-the-same-rq_di.patch
  0016-block-update-documentation-for-REQ_FLUSH-REQ_FUA.patch
  0017-block-use-REQ_FLUSH-in-blkdev_issue_flush.patch
  0018-block-loop-implement-REQ_FLUSH-FUA-support.patch
  0019-virtio_blk-drop-REQ_HARDBARRIER-support.patch
  0020-lguest-replace-VIRTIO_F_BARRIER-support-with-VIRTIO_.patch
  0021-md-implment-REQ_FLUSH-FUA-support.patch
  0022-block-make-__blk_rq_prep_clone-copy-most-command-fla.patch
  0023-dm-implement-REQ_FLUSH-FUA-support-for-bio-based-dm.patch
  0024-dm-implement-REQ_FLUSH-FUA-support-for-request-based.patch
  0025-dm-relax-ordering-of-bio-based-flush-implementation.patch
  0026-dm-fix-locking-context-in-queue_io.patch
  0027-block-pass-gfp_mask-and-flags-to-sb_issue_discard.patch
  0028-xfs-replace-barriers-with-explicit-flush-FUA-usage.patch
  0029-btrfs-replace-barriers-with-explicit-flush-FUA-usage.patch
  0030-gfs2-replace-barriers-with-explicit-flush-FUA-usage.patch
  0031-reiserfs-replace-barriers-with-explicit-flush-FUA-us.patch
  0032-nilfs2-replace-barriers-with-explicit-flush-FUA-usag.patch
  0033-jbd-replace-barriers-with-explicit-flush-FUA-usage.patch
  0034-jbd2-Modify-ASYNC_COMMIT-code-to-not-rely-on-queue-d.patch
  0035-jbd2-replace-barriers-with-explicit-flush-FUA-usage.patch
  0036-ext4-do-not-send-discards-as-barriers.patch
  0037-fat-do-not-send-discards-as-barriers.patch
  0038-swap-do-not-send-discards-as-barriers.patch
  0039-block-remove-the-WRITE_BARRIER-flag.patch
  0040-block-remove-the-BLKDEV_IFL_BARRIER-flag.patch
  0041-block-remove-the-BH_Eopnotsupp-flag.patch

and is on top of v2.6.26-rc3 (2bfc96a127bc1cc94d26bfaa40159966064f9c8c)
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.  (hey, 1000 less lines!)

 Documentation/block/00-INDEX                    |    4 
 Documentation/block/barrier.txt                 |  261 ---------------
 Documentation/block/writeback_cache_control.txt |   86 +++++
 Documentation/lguest/lguest.c                   |   29 -
 block/Makefile                                  |    2 
 block/blk-barrier.c                             |  350 ---------------------
 block/blk-core.c                                |   72 ++--
 block/blk-flush.c                               |  265 +++++++++++++++
 block/blk-lib.c                                 |   18 -
 block/blk-settings.c                            |   20 +
 block/blk.h                                     |    8 
 block/elevator.c                                |   79 ----
 drivers/block/brd.c                             |    1 
 drivers/block/loop.c                            |   20 -
 drivers/block/osdblk.c                          |    5 
 drivers/block/pktcdvd.c                         |    1 
 drivers/block/ps3disk.c                         |    2 
 drivers/block/virtio_blk.c                      |   37 --
 drivers/block/xen-blkfront.c                    |   47 --
 drivers/ide/ide-disk.c                          |   13 
 drivers/ide/ide-io.c                            |   13 
 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                                 |  400 +++++-------------------
 drivers/md/linear.c                             |    4 
 drivers/md/md.c                                 |  117 +------
 drivers/md/md.h                                 |   23 -
 drivers/md/multipath.c                          |    4 
 drivers/md/raid0.c                              |    4 
 drivers/md/raid1.c                              |  176 +++-------
 drivers/md/raid1.h                              |    2 
 drivers/md/raid10.c                             |    7 
 drivers/md/raid5.c                              |   43 +-
 drivers/md/raid5.h                              |    1 
 drivers/mmc/card/queue.c                        |    1 
 drivers/s390/block/dasd.c                       |    1 
 drivers/scsi/aic7xxx_old.c                      |   21 -
 drivers/scsi/libsas/sas_scsi_host.c             |   13 
 drivers/scsi/sd.c                               |   18 -
 fs/btrfs/disk-io.c                              |   19 -
 fs/btrfs/extent-tree.c                          |    2 
 fs/btrfs/volumes.c                              |    4 
 fs/btrfs/volumes.h                              |    1 
 fs/buffer.c                                     |    7 
 fs/ext4/mballoc.c                               |    3 
 fs/fat/fatent.c                                 |    4 
 fs/fat/misc.c                                   |    5 
 fs/gfs2/log.c                                   |   19 -
 fs/gfs2/rgrp.c                                  |    5 
 fs/jbd/commit.c                                 |   30 -
 fs/jbd2/commit.c                                |   72 +---
 fs/nilfs2/super.c                               |   10 
 fs/nilfs2/the_nilfs.c                           |    7 
 fs/reiserfs/journal.c                           |  106 +-----
 fs/xfs/linux-2.6/xfs_buf.c                      |   16 
 fs/xfs/linux-2.6/xfs_buf.h                      |   11 
 fs/xfs/linux-2.6/xfs_trace.h                    |    1 
 fs/xfs/xfs_log.c                                |   13 
 include/linux/blk_types.h                       |    5 
 include/linux/blkdev.h                          |   85 -----
 include/linux/buffer_head.h                     |    2 
 include/linux/fs.h                              |   28 -
 include/scsi/scsi_tcq.h                         |    6 
 mm/swapfile.c                                   |    9 
 70 files changed, 819 insertions(+), 1877 deletions(-)

Thanks.

--
tejun

[1] http://thread.gmane.org/gmane.linux.kernel.device-mapper.devel/12363
[2] http://thread.gmane.org/gmane.linux.kernel/1029396

WARNING: multiple messages have this Message-ID (diff)
From: Tejun Heo <tj@kernel.org>
To: jaxboe@fusionio.com, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-ide@vger.kernel.org, linux-raid@vger.kernel.org,
	dm-devel@redhat.com, hch@lst.de, konishi.ryusuke@lab.ntt.co.jp,
	James.Bottomley@suse.de, tytso@mit.edu, chris.mason@oracle.com,
	swhiteho@redhat.com, vst@vlnb.net, jack@suse.cz,
	rwheeler@redhat.com, hare@suse.de, neilb@suse.de,
	rusty@rustcorp.com.au, mst@redhat.com, snitzer@redhat.com,
	k-ueda@ct.jp.nec.com, mpatocka@redhat.com
Subject: [PATCHSET #upstream] block, fs: replace HARDBARRIER with FLUSH/FUA, take#2
Date: Fri,  3 Sep 2010 12:29:15 +0200	[thread overview]
Message-ID: <1283509796-1510-1-git-send-email-tj@kernel.org> (raw)

Hello,

This patchset is combination of the following two patchsets.

 [1] block, fs: replace HARDBARRIER with FLUSH/FUA
 [2] block, dm: finish REQ_FLUSH/FUA conversion, take#2

Changes from the previous postings are

* Rebased on top of v2.6.36-rc3.

* 0010-block-implement-REQ_FLUSH-FUA-based-interface-for-FL.patch
  description updated to include why special -EOPNOTSUPP handling is
  no longer necessary as suggested by Mike Snitzer.

* 0025-dm-relax-ordering-of-bio-based-flush-implementation.patch
  description updated to include why flush_error and special error
  handling logic are no longer necessary as suggested by Mike
  Snitzer.

* 0013-block-initialize-flush-request-with-WRITE_FLUSH-inst.patch and
  0014-block-kick-queue-after-sequencing-REQ_FLUSH-FUA.patch added.
  These fixes aren't strictly required by the current users but remove
  fishy corner cases.

* 0015-block-make-sure-FSEQ_DATA-request-has-the-same-rq_di.patch
  added.  This is needed to make requested based dm work.

* 0026-dm-fix-locking-context-in-queue_io.patch added.  This fixes
  locking context problem introduced by
  0025-dm-relax-ordering-of-bio-based-flush-implementation.patch.

* Tested/Reviewed-by's added and patches reordered such that block
  layer conversion comes first followed by block driver conversions,
  filesystem conversions and then finally removal of deprecate stuff.

I think the patchset is mostly ready now although I would love to have
acked/reviewd-by's on bio-based dm conversion patches.  Jens,
Christoph, how do you guys wanna steer these patches?  I think it
would be best to go through the block tree but splitting parts and
doing cross tree pull/merges should be doable too.

This patchset contains the following patches

  0001-ide-remove-unnecessary-blk_queue_flushing-test-in-do.patch
  0002-block-loop-queue-ordered-mode-should-be-DRAIN_FLUSH.patch
  0003-block-kill-QUEUE_ORDERED_BY_TAG.patch
  0004-block-deprecate-barrier-and-replace-blk_queue_ordere.patch
  0005-block-remove-spurious-uses-of-REQ_HARDBARRIER.patch
  0006-block-misc-cleanups-in-barrier-code.patch
  0007-block-drop-barrier-ordering-by-queue-draining.patch
  0008-block-rename-blk-barrier.c-to-blk-flush.c.patch
  0009-block-rename-barrier-ordered-to-flush.patch
  0010-block-implement-REQ_FLUSH-FUA-based-interface-for-FL.patch
  0011-block-filter-flush-bio-s-in-__generic_make_request.patch
  0012-block-simplify-queue_next_fseq.patch
  0013-block-initialize-flush-request-with-WRITE_FLUSH-inst.patch
  0014-block-kick-queue-after-sequencing-REQ_FLUSH-FUA.patch
  0015-block-make-sure-FSEQ_DATA-request-has-the-same-rq_di.patch
  0016-block-update-documentation-for-REQ_FLUSH-REQ_FUA.patch
  0017-block-use-REQ_FLUSH-in-blkdev_issue_flush.patch
  0018-block-loop-implement-REQ_FLUSH-FUA-support.patch
  0019-virtio_blk-drop-REQ_HARDBARRIER-support.patch
  0020-lguest-replace-VIRTIO_F_BARRIER-support-with-VIRTIO_.patch
  0021-md-implment-REQ_FLUSH-FUA-support.patch
  0022-block-make-__blk_rq_prep_clone-copy-most-command-fla.patch
  0023-dm-implement-REQ_FLUSH-FUA-support-for-bio-based-dm.patch
  0024-dm-implement-REQ_FLUSH-FUA-support-for-request-based.patch
  0025-dm-relax-ordering-of-bio-based-flush-implementation.patch
  0026-dm-fix-locking-context-in-queue_io.patch
  0027-block-pass-gfp_mask-and-flags-to-sb_issue_discard.patch
  0028-xfs-replace-barriers-with-explicit-flush-FUA-usage.patch
  0029-btrfs-replace-barriers-with-explicit-flush-FUA-usage.patch
  0030-gfs2-replace-barriers-with-explicit-flush-FUA-usage.patch
  0031-reiserfs-replace-barriers-with-explicit-flush-FUA-us.patch
  0032-nilfs2-replace-barriers-with-explicit-flush-FUA-usag.patch
  0033-jbd-replace-barriers-with-explicit-flush-FUA-usage.patch
  0034-jbd2-Modify-ASYNC_COMMIT-code-to-not-rely-on-queue-d.patch
  0035-jbd2-replace-barriers-with-explicit-flush-FUA-usage.patch
  0036-ext4-do-not-send-discards-as-barriers.patch
  0037-fat-do-not-send-discards-as-barriers.patch
  0038-swap-do-not-send-discards-as-barriers.patch
  0039-block-remove-the-WRITE_BARRIER-flag.patch
  0040-block-remove-the-BLKDEV_IFL_BARRIER-flag.patch
  0041-block-remove-the-BH_Eopnotsupp-flag.patch

and is on top of v2.6.26-rc3 (2bfc96a127bc1cc94d26bfaa40159966064f9c8c)
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.  (hey, 1000 less lines!)

 Documentation/block/00-INDEX                    |    4 
 Documentation/block/barrier.txt                 |  261 ---------------
 Documentation/block/writeback_cache_control.txt |   86 +++++
 Documentation/lguest/lguest.c                   |   29 -
 block/Makefile                                  |    2 
 block/blk-barrier.c                             |  350 ---------------------
 block/blk-core.c                                |   72 ++--
 block/blk-flush.c                               |  265 +++++++++++++++
 block/blk-lib.c                                 |   18 -
 block/blk-settings.c                            |   20 +
 block/blk.h                                     |    8 
 block/elevator.c                                |   79 ----
 drivers/block/brd.c                             |    1 
 drivers/block/loop.c                            |   20 -
 drivers/block/osdblk.c                          |    5 
 drivers/block/pktcdvd.c                         |    1 
 drivers/block/ps3disk.c                         |    2 
 drivers/block/virtio_blk.c                      |   37 --
 drivers/block/xen-blkfront.c                    |   47 --
 drivers/ide/ide-disk.c                          |   13 
 drivers/ide/ide-io.c                            |   13 
 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                                 |  400 +++++-------------------
 drivers/md/linear.c                             |    4 
 drivers/md/md.c                                 |  117 +------
 drivers/md/md.h                                 |   23 -
 drivers/md/multipath.c                          |    4 
 drivers/md/raid0.c                              |    4 
 drivers/md/raid1.c                              |  176 +++-------
 drivers/md/raid1.h                              |    2 
 drivers/md/raid10.c                             |    7 
 drivers/md/raid5.c                              |   43 +-
 drivers/md/raid5.h                              |    1 
 drivers/mmc/card/queue.c                        |    1 
 drivers/s390/block/dasd.c                       |    1 
 drivers/scsi/aic7xxx_old.c                      |   21 -
 drivers/scsi/libsas/sas_scsi_host.c             |   13 
 drivers/scsi/sd.c                               |   18 -
 fs/btrfs/disk-io.c                              |   19 -
 fs/btrfs/extent-tree.c                          |    2 
 fs/btrfs/volumes.c                              |    4 
 fs/btrfs/volumes.h                              |    1 
 fs/buffer.c                                     |    7 
 fs/ext4/mballoc.c                               |    3 
 fs/fat/fatent.c                                 |    4 
 fs/fat/misc.c                                   |    5 
 fs/gfs2/log.c                                   |   19 -
 fs/gfs2/rgrp.c                                  |    5 
 fs/jbd/commit.c                                 |   30 -
 fs/jbd2/commit.c                                |   72 +---
 fs/nilfs2/super.c                               |   10 
 fs/nilfs2/the_nilfs.c                           |    7 
 fs/reiserfs/journal.c                           |  106 +-----
 fs/xfs/linux-2.6/xfs_buf.c                      |   16 
 fs/xfs/linux-2.6/xfs_buf.h                      |   11 
 fs/xfs/linux-2.6/xfs_trace.h                    |    1 
 fs/xfs/xfs_log.c                                |   13 
 include/linux/blk_types.h                       |    5 
 include/linux/blkdev.h                          |   85 -----
 include/linux/buffer_head.h                     |    2 
 include/linux/fs.h                              |   28 -
 include/scsi/scsi_tcq.h                         |    6 
 mm/swapfile.c                                   |    9 
 70 files changed, 819 insertions(+), 1877 deletions(-)

Thanks.

--
tejun

[1] http://thread.gmane.org/gmane.linux.kernel.device-mapper.devel/12363
[2] http://thread.gmane.org/gmane.linux.kernel/1029396

WARNING: multiple messages have this Message-ID (diff)
From: Tejun Heo <tj@kernel.org>
To: jaxboe@fusionio.com, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-ide@vger.kernel.org, linux-raid@vger.kernel.org,
Subject: [PATCHSET #upstream] block, fs: replace HARDBARRIER with FLUSH/FUA, take#2
Date: Fri,  3 Sep 2010 12:29:15 +0200	[thread overview]
Message-ID: <1283509796-1510-1-git-send-email-tj@kernel.org> (raw)

Hello,

This patchset is combination of the following two patchsets.

 [1] block, fs: replace HARDBARRIER with FLUSH/FUA
 [2] block, dm: finish REQ_FLUSH/FUA conversion, take#2

Changes from the previous postings are

* Rebased on top of v2.6.36-rc3.

* 0010-block-implement-REQ_FLUSH-FUA-based-interface-for-FL.patch
  description updated to include why special -EOPNOTSUPP handling is
  no longer necessary as suggested by Mike Snitzer.

* 0025-dm-relax-ordering-of-bio-based-flush-implementation.patch
  description updated to include why flush_error and special error
  handling logic are no longer necessary as suggested by Mike
  Snitzer.

* 0013-block-initialize-flush-request-with-WRITE_FLUSH-inst.patch and
  0014-block-kick-queue-after-sequencing-REQ_FLUSH-FUA.patch added.
  These fixes aren't strictly required by the current users but remove
  fishy corner cases.

* 0015-block-make-sure-FSEQ_DATA-request-has-the-same-rq_di.patch
  added.  This is needed to make requested based dm work.

* 0026-dm-fix-locking-context-in-queue_io.patch added.  This fixes
  locking context problem introduced by
  0025-dm-relax-ordering-of-bio-based-flush-implementation.patch.

* Tested/Reviewed-by's added and patches reordered such that block
  layer conversion comes first followed by block driver conversions,
  filesystem conversions and then finally removal of deprecate stuff.

I think the patchset is mostly ready now although I would love to have
acked/reviewd-by's on bio-based dm conversion patches.  Jens,
Christoph, how do you guys wanna steer these patches?  I think it
would be best to go through the block tree but splitting parts and
doing cross tree pull/merges should be doable too.

This patchset contains the following patches

  0001-ide-remove-unnecessary-blk_queue_flushing-test-in-do.patch
  0002-block-loop-queue-ordered-mode-should-be-DRAIN_FLUSH.patch
  0003-block-kill-QUEUE_ORDERED_BY_TAG.patch
  0004-block-deprecate-barrier-and-replace-blk_queue_ordere.patch
  0005-block-remove-spurious-uses-of-REQ_HARDBARRIER.patch
  0006-block-misc-cleanups-in-barrier-code.patch
  0007-block-drop-barrier-ordering-by-queue-draining.patch
  0008-block-rename-blk-barrier.c-to-blk-flush.c.patch
  0009-block-rename-barrier-ordered-to-flush.patch
  0010-block-implement-REQ_FLUSH-FUA-based-interface-for-FL.patch
  0011-block-filter-flush-bio-s-in-__generic_make_request.patch
  0012-block-simplify-queue_next_fseq.patch
  0013-block-initialize-flush-request-with-WRITE_FLUSH-inst.patch
  0014-block-kick-queue-after-sequencing-REQ_FLUSH-FUA.patch
  0015-block-make-sure-FSEQ_DATA-request-has-the-same-rq_di.patch
  0016-block-update-documentation-for-REQ_FLUSH-REQ_FUA.patch
  0017-block-use-REQ_FLUSH-in-blkdev_issue_flush.patch
  0018-block-loop-implement-REQ_FLUSH-FUA-support.patch
  0019-virtio_blk-drop-REQ_HARDBARRIER-support.patch
  0020-lguest-replace-VIRTIO_F_BARRIER-support-with-VIRTIO_.patch
  0021-md-implment-REQ_FLUSH-FUA-support.patch
  0022-block-make-__blk_rq_prep_clone-copy-most-command-fla.patch
  0023-dm-implement-REQ_FLUSH-FUA-support-for-bio-based-dm.patch
  0024-dm-implement-REQ_FLUSH-FUA-support-for-request-based.patch
  0025-dm-relax-ordering-of-bio-based-flush-implementation.patch
  0026-dm-fix-locking-context-in-queue_io.patch
  0027-block-pass-gfp_mask-and-flags-to-sb_issue_discard.patch
  0028-xfs-replace-barriers-with-explicit-flush-FUA-usage.patch
  0029-btrfs-replace-barriers-with-explicit-flush-FUA-usage.patch
  0030-gfs2-replace-barriers-with-explicit-flush-FUA-usage.patch
  0031-reiserfs-replace-barriers-with-explicit-flush-FUA-us.patch
  0032-nilfs2-replace-barriers-with-explicit-flush-FUA-usag.patch
  0033-jbd-replace-barriers-with-explicit-flush-FUA-usage.patch
  0034-jbd2-Modify-ASYNC_COMMIT-code-to-not-rely-on-queue-d.patch
  0035-jbd2-replace-barriers-with-explicit-flush-FUA-usage.patch
  0036-ext4-do-not-send-discards-as-barriers.patch
  0037-fat-do-not-send-discards-as-barriers.patch
  0038-swap-do-not-send-discards-as-barriers.patch
  0039-block-remove-the-WRITE_BARRIER-flag.patch
  0040-block-remove-the-BLKDEV_IFL_BARRIER-flag.patch
  0041-block-remove-the-BH_Eopnotsupp-flag.patch

and is on top of v2.6.26-rc3 (2bfc96a127bc1cc94d26bfaa40159966064f9c8c)
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.  (hey, 1000 less lines!)

 Documentation/block/00-INDEX                    |    4 
 Documentation/block/barrier.txt                 |  261 ---------------
 Documentation/block/writeback_cache_control.txt |   86 +++++
 Documentation/lguest/lguest.c                   |   29 -
 block/Makefile                                  |    2 
 block/blk-barrier.c                             |  350 ---------------------
 block/blk-core.c                                |   72 ++--
 block/blk-flush.c                               |  265 +++++++++++++++
 block/blk-lib.c                                 |   18 -
 block/blk-settings.c                            |   20 +
 block/blk.h                                     |    8 
 block/elevator.c                                |   79 ----
 drivers/block/brd.c                             |    1 
 drivers/block/loop.c                            |   20 -
 drivers/block/osdblk.c                          |    5 
 drivers/block/pktcdvd.c                         |    1 
 drivers/block/ps3disk.c                         |    2 
 drivers/block/virtio_blk.c                      |   37 --
 drivers/block/xen-blkfront.c                    |   47 --
 drivers/ide/ide-disk.c                          |   13 
 drivers/ide/ide-io.c                            |   13 
 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                                 |  400 +++++-------------------
 drivers/md/linear.c                             |    4 
 drivers/md/md.c                                 |  117 +------
 drivers/md/md.h                                 |   23 -
 drivers/md/multipath.c                          |    4 
 drivers/md/raid0.c                              |    4 
 drivers/md/raid1.c                              |  176 +++-------
 drivers/md/raid1.h                              |    2 
 drivers/md/raid10.c                             |    7 
 drivers/md/raid5.c                              |   43 +-
 drivers/md/raid5.h                              |    1 
 drivers/mmc/card/queue.c                        |    1 
 drivers/s390/block/dasd.c                       |    1 
 drivers/scsi/aic7xxx_old.c                      |   21 -
 drivers/scsi/libsas/sas_scsi_host.c             |   13 
 drivers/scsi/sd.c                               |   18 -
 fs/btrfs/disk-io.c                              |   19 -
 fs/btrfs/extent-tree.c                          |    2 
 fs/btrfs/volumes.c                              |    4 
 fs/btrfs/volumes.h                              |    1 
 fs/buffer.c                                     |    7 
 fs/ext4/mballoc.c                               |    3 
 fs/fat/fatent.c                                 |    4 
 fs/fat/misc.c                                   |    5 
 fs/gfs2/log.c                                   |   19 -
 fs/gfs2/rgrp.c                                  |    5 
 fs/jbd/commit.c                                 |   30 -
 fs/jbd2/commit.c                                |   72 +---
 fs/nilfs2/super.c                               |   10 
 fs/nilfs2/the_nilfs.c                           |    7 
 fs/reiserfs/journal.c                           |  106 +-----
 fs/xfs/linux-2.6/xfs_buf.c                      |   16 
 fs/xfs/linux-2.6/xfs_buf.h                      |   11 
 fs/xfs/linux-2.6/xfs_trace.h                    |    1 
 fs/xfs/xfs_log.c                                |   13 
 include/linux/blk_types.h                       |    5 
 include/linux/blkdev.h                          |   85 -----
 include/linux/buffer_head.h                     |    2 
 include/linux/fs.h                              |   28 -
 include/scsi/scsi_tcq.h                         |    6 
 mm/swapfile.c                                   |    9 
 70 files changed, 819 insertions(+), 1877 deletions(-)

Thanks.

--
tejun

[1] http://thread.gmane.org/gmane.linux.kernel.device-mapper.devel/12363
[2] http://thread.gmane.org/gmane.linux.kernel/1029396

             reply	other threads:[~2010-09-03 10:29 UTC|newest]

Thread overview: 159+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-03 10:29 Tejun Heo [this message]
2010-09-03 10:29 ` [PATCHSET #upstream] block, fs: replace HARDBARRIER with FLUSH/FUA, take#2 Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29 ` [PATCH 01/41] ide: remove unnecessary blk_queue_flushing() test in do_ide_request() Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29 ` [PATCH 02/41] block/loop: queue ordered mode should be DRAIN_FLUSH Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-12  8:38   ` Tao Ma
2010-09-12 11:41     ` Tejun Heo
2010-09-12 11:55       ` Tao Ma
2010-09-03 10:29 ` [PATCH 03/41] block: kill QUEUE_ORDERED_BY_TAG Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29 ` [PATCH 04/41] block: deprecate barrier and replace blk_queue_ordered() with blk_queue_flush() Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 05/41] block: remove spurious uses of REQ_HARDBARRIER Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 06/41] block: misc cleanups in barrier code Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 07/41] block: drop barrier ordering by queue draining Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 08/41] block: rename blk-barrier.c to blk-flush.c Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 09/41] block: rename barrier/ordered to flush Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29 ` [PATCH 10/41] block: implement REQ_FLUSH/FUA based interface for FLUSH/FUA requests Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 11/41] block: filter flush bio's in __generic_make_request() Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 12/41] block: simplify queue_next_fseq Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 13/41] block: initialize flush request with WRITE_FLUSH instead of REQ_FLUSH Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 14/41] block: kick queue after sequencing REQ_FLUSH/FUA Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 15/41] block: make sure FSEQ_DATA request has the same rq_disk as the original Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 16/41] block: update documentation for REQ_FLUSH / REQ_FUA Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 17/41] block: use REQ_FLUSH in blkdev_issue_flush() Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 18/41] block/loop: implement REQ_FLUSH/FUA support Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 19/41] virtio_blk: drop REQ_HARDBARRIER support Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 20/41] lguest: replace VIRTIO_F_BARRIER support with VIRTIO_F_FLUSH support Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 21/41] md: implment REQ_FLUSH/FUA support Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 22/41] block: make __blk_rq_prep_clone() copy most command flags Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 23/41] dm: implement REQ_FLUSH/FUA support for bio-based dm Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 12:36   ` Mike Snitzer
2010-09-06 11:14   ` [dm-devel] " Milan Broz
2010-09-07 21:17     ` Mike Snitzer
2010-09-07 22:15       ` Mike Snitzer
2010-09-07 23:49         ` [PATCH 42/41] dm: convey that all flushes are processed as empty Mike Snitzer
2010-09-08  0:00           ` Christoph Hellwig
2010-09-08  2:04             ` [PATCH 42/41 v2] " Mike Snitzer
2010-09-08 16:09               ` Tejun Heo
2010-09-08 16:09               ` Tejun Heo
2010-09-10 18:25   ` [PATCH 23/41] dm: implement REQ_FLUSH/FUA support for bio-based dm Mikulas Patocka
2010-09-10 18:46     ` Mike Snitzer
2010-09-10 19:05       ` Mikulas Patocka
2010-09-10 19:24         ` Mike Snitzer
2010-09-10 20:06           ` Mikulas Patocka
2010-09-10 23:36             ` Tejun Heo
2010-09-11  1:46               ` Mike Snitzer
     [not found]                 ` <Pine.LNX.4.64.1009110500070.27949@hs20-bc2-1.build.redhat.com>
     [not found]                   ` <20100911132102.GA29631@redhat.com>
     [not found]                     ` <Pine.LNX.4.64.1009111251470.22177@hs20-bc2-1.build.redhat.com>
     [not found]                       ` <20100911201758.GB31324@redhat.com>
2010-09-13 18:55                         ` Mikulas Patocka
2010-09-13 20:54                           ` Mike Snitzer
2010-09-18 17:58                 ` Bill Davidsen
2010-09-18 20:42                   ` [dm-devel] " Mike Snitzer
2010-09-11 12:19               ` Ric Wheeler
2010-09-13 19:01               ` Mikulas Patocka
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29 ` [PATCH 24/41] dm: implement REQ_FLUSH/FUA support for request-based dm Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-08  1:46   ` Kiyoshi Ueda
2010-09-03 10:29 ` [PATCH 25/41] dm: relax ordering of bio-based flush implementation Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 26/41] dm: fix locking context in queue_io() Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 27/41] block: pass gfp_mask and flags to sb_issue_discard Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 28/41] xfs: replace barriers with explicit flush / FUA usage Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 29/41] btrfs: " Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29 ` [PATCH 30/41] gfs2: " Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 31/41] reiserfs: " Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29 ` [PATCH 32/41] nilfs2: " Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 33/41] jbd: " Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 34/41] jbd2: Modify ASYNC_COMMIT code to not rely on queue draining on barrier Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 35/41] jbd2: replace barriers with explicit flush / FUA usage Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 36/41] ext4: do not send discards as barriers Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 37/41] fat: " Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 38/41] swap: " Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` Tejun Heo
2010-09-03 10:29 ` [PATCH 39/41] block: remove the WRITE_BARRIER flag Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 40/41] block: remove the BLKDEV_IFL_BARRIER flag Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29 ` [PATCH 41/41] block: remove the BH_Eopnotsupp flag Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 10:29   ` Tejun Heo
2010-09-03 18:53 ` [PATCHSET #upstream] block, fs: replace HARDBARRIER with FLUSH/FUA, take#2 Jens Axboe
2010-09-03 18:53   ` Jens Axboe
2010-09-08 16:12 ` Tejun Heo
2010-09-08 16:12   ` Tejun Heo
2010-09-10 10:19   ` Jens Axboe
2010-09-10 10:19     ` Jens Axboe
2010-09-08 16:12 ` 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=1283509796-1510-1-git-send-email-tj@kernel.org \
    --to=tj@kernel.org \
    --cc=dm-devel@redhat.com \
    --cc=jaxboe@fusionio.com \
    --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 \
    /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.