block: Implement support for WRITE SAME
authorMartin K. Petersen <martin.petersen@oracle.com>
Tue, 18 Sep 2012 16:19:27 +0000 (12:19 -0400)
committerJens Axboe <axboe@kernel.dk>
Thu, 20 Sep 2012 12:31:45 +0000 (14:31 +0200)
commit4363ac7c13a9a4b763c6e8d9fdbfc2468f3b8ca4
tree010b05699eb9544b9cdfe5e1b3affdaea80132e7
parentf31dc1cd490539e2b62a126bc4dc2495b165d772
block: Implement support for WRITE SAME

The WRITE SAME command supported on some SCSI devices allows the same
block to be efficiently replicated throughout a block range. Only a
single logical block is transferred from the host and the storage device
writes the same data to all blocks described by the I/O.

This patch implements support for WRITE SAME in the block layer. The
blkdev_issue_write_same() function can be used by filesystems and block
drivers to replicate a buffer across a block range. This can be used to
efficiently initialize software RAID devices, etc.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Documentation/ABI/testing/sysfs-block
block/blk-core.c
block/blk-lib.c
block/blk-merge.c
block/blk-settings.c
block/blk-sysfs.c
drivers/md/raid0.c
fs/bio.c
include/linux/bio.h
include/linux/blk_types.h
include/linux/blkdev.h