[GIT PULL] barrier/flush write revamp for 2.6.37-rc1

From: Jens Axboe
Date: Fri Oct 22 2010 - 06:38:53 EST


Hi Linus,

Another topic branch, this one has the barrier rewrite for 2.6.37-rc1.
It's been in for-next for a long time, no surprises seen yet (except for
the xen-blkfront, but that was broken before as well).

This greatly simplifies the barrier support and semantics, as the
diffstat confirms.

Please pull.


git://git.kernel.dk/linux-2.6-block.git for-2.6.37/barrier

Christoph Hellwig (17):
block: simplify queue_next_fseq
block: update documentation for REQ_FLUSH / REQ_FUA
block: pass gfp_mask and flags to sb_issue_discard
xfs: replace barriers with explicit flush / FUA usage
btrfs: replace barriers with explicit flush / FUA usage
gfs2: replace barriers with explicit flush / FUA usage
reiserfs: replace barriers with explicit flush / FUA usage
nilfs2: replace barriers with explicit flush / FUA usage
jbd: replace barriers with explicit flush / FUA usage
jbd2: replace barriers with explicit flush / FUA usage
ext4: do not send discards as barriers
fat: do not send discards as barriers
swap: do not send discards as barriers
block: remove the WRITE_BARRIER flag
block: remove the BLKDEV_IFL_BARRIER flag
block: remove the BH_Eopnotsupp flag
block: remove BLKDEV_IFL_WAIT

Jan Kara (1):
jbd2: Modify ASYNC_COMMIT code to not rely on queue draining on barrier

Jens Axboe (3):
aic7xxx_old: removed unused 'req' variable
Merge branch 'v2.6.36-rc8' into for-2.6.37/barrier
xen-blkfront: disable barrier/flush write support

Kiyoshi Ueda (1):
dm: fix locking context in queue_io()

Mike Snitzer (2):
dm: convey that all flushes are processed as empty
Added blk-lib.c and blk-barrier.c was renamed to blk-flush.c

Tejun Heo (23):
ide: remove unnecessary blk_queue_flushing() test in do_ide_request()
block/loop: queue ordered mode should be DRAIN_FLUSH
block: kill QUEUE_ORDERED_BY_TAG
block: deprecate barrier and replace blk_queue_ordered() with blk_queue_flush()
block: remove spurious uses of REQ_HARDBARRIER
block: misc cleanups in barrier code
block: drop barrier ordering by queue draining
block: rename blk-barrier.c to blk-flush.c
block: rename barrier/ordered to flush
block: implement REQ_FLUSH/FUA based interface for FLUSH/FUA requests
block: filter flush bio's in __generic_make_request()
block: initialize flush request with WRITE_FLUSH instead of REQ_FLUSH
block: kick queue after sequencing REQ_FLUSH/FUA
block: make sure FSEQ_DATA request has the same rq_disk as the original
block: use REQ_FLUSH in blkdev_issue_flush()
block/loop: implement REQ_FLUSH/FUA support
virtio_blk: drop REQ_HARDBARRIER support
lguest: replace VIRTIO_F_BARRIER support with VIRTIO_F_FLUSH support
md: implment REQ_FLUSH/FUA support
block: make __blk_rq_prep_clone() copy most command flags
dm: implement REQ_FLUSH/FUA support for bio-based dm
dm: implement REQ_FLUSH/FUA support for request-based dm
dm: relax ordering of bio-based flush implementation

Documentation/DocBook/kernel-api.tmpl | 3 +-
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 | 262 +++++++++++++++
block/blk-lib.c | 39 +--
block/blk-settings.c | 20 ++
block/blk.h | 8 +-
block/elevator.c | 79 +----
block/ioctl.c | 4 +-
drivers/block/brd.c | 1 -
drivers/block/drbd/drbd_int.h | 3 +-
drivers/block/drbd/drbd_receiver.c | 2 +-
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 | 54 ++--
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 | 398 +++++------------------
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 | 22 +--
drivers/scsi/libsas/sas_scsi_host.c | 13 +-
drivers/scsi/sd.c | 18 +-
fs/block_dev.c | 2 +-
fs/btrfs/disk-io.c | 19 +-
fs/btrfs/extent-tree.c | 3 +-
fs/btrfs/volumes.c | 4 -
fs/btrfs/volumes.h | 1 -
fs/buffer.c | 7 +-
fs/ext3/fsync.c | 3 +-
fs/ext4/fsync.c | 5 +-
fs/ext4/mballoc.c | 2 +-
fs/fat/fatent.c | 3 +-
fs/fat/misc.c | 5 +-
fs/gfs2/log.c | 19 +-
fs/gfs2/rgrp.c | 6 +-
fs/jbd/commit.c | 30 +--
fs/jbd2/checkpoint.c | 3 +-
fs/jbd2/commit.c | 74 ++---
fs/nilfs2/super.c | 10 +-
fs/nilfs2/the_nilfs.c | 7 +-
fs/reiserfs/file.c | 3 +-
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_super.c | 3 +-
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 | 99 ++-----
include/linux/buffer_head.h | 2 -
include/linux/fs.h | 28 +-
include/scsi/scsi_tcq.h | 6 +-
mm/swapfile.c | 6 +-
80 files changed, 844 insertions(+), 1920 deletions(-)
delete mode 100644 Documentation/block/barrier.txt
create mode 100644 Documentation/block/writeback_cache_control.txt
delete mode 100644 block/blk-barrier.c
create mode 100644 block/blk-flush.c

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/