block: deprecate barrier and replace blk_queue_ordered() with blk_queue_flush()
Barrier is deemed too heavy and will soon be replaced by FLUSH/FUA requests. Deprecate barrier. All REQ_HARDBARRIERs are failed with -EOPNOTSUPP and blk_queue_ordered() is replaced with simpler blk_queue_flush(). blk_queue_flush() takes combinations of REQ_FLUSH and FUA. If a device has write cache and can flush it, it should set REQ_FLUSH. If the device can handle FUA writes, it should also set REQ_FUA. All blk_queue_ordered() users are converted. * ORDERED_DRAIN is mapped to 0 which is the default value. * ORDERED_DRAIN_FLUSH is mapped to REQ_FLUSH. * ORDERED_DRAIN_FLUSH_FUA is mapped to REQ_FLUSH | REQ_FUA. Signed-off-by:Tejun Heo <tj@kernel.org> Acked-by:
Boaz Harrosh <bharrosh@panasas.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Nick Piggin <npiggin@kernel.dk> Cc: Michael S. Tsirkin <mst@redhat.com> Cc: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Chris Wright <chrisw@sous-sol.org> Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Cc: David S. Miller <davem@davemloft.net> Cc: Alasdair G Kergon <agk@redhat.com> Cc: Pierre Ossman <drzeus@drzeus.cx> Cc: Stefan Weinhuber <wein@de.ibm.com> Signed-off-by:
Jens Axboe <jaxboe@fusionio.com>
Showing
- block/blk-barrier.c 0 additions, 29 deletionsblock/blk-barrier.c
- block/blk-core.c 4 additions, 2 deletionsblock/blk-core.c
- block/blk-settings.c 20 additions, 0 deletionsblock/blk-settings.c
- drivers/block/brd.c 0 additions, 1 deletiondrivers/block/brd.c
- drivers/block/loop.c 1 addition, 1 deletiondrivers/block/loop.c
- drivers/block/osdblk.c 1 addition, 1 deletiondrivers/block/osdblk.c
- drivers/block/ps3disk.c 1 addition, 1 deletiondrivers/block/ps3disk.c
- drivers/block/virtio_blk.c 9 additions, 16 deletionsdrivers/block/virtio_blk.c
- drivers/block/xen-blkfront.c 12 additions, 31 deletionsdrivers/block/xen-blkfront.c
- drivers/ide/ide-disk.c 6 additions, 7 deletionsdrivers/ide/ide-disk.c
- drivers/md/dm.c 1 addition, 1 deletiondrivers/md/dm.c
- drivers/mmc/card/queue.c 0 additions, 1 deletiondrivers/mmc/card/queue.c
- drivers/s390/block/dasd.c 0 additions, 1 deletiondrivers/s390/block/dasd.c
- drivers/scsi/sd.c 8 additions, 8 deletionsdrivers/scsi/sd.c
- include/linux/blkdev.h 4 additions, 2 deletionsinclude/linux/blkdev.h
Loading
Please register or sign in to comment