linux/drivers/block
Alasdair G Kergon cc371e66e3 Add bvec_merge_data to handle stacked devices and ->merge_bvec()
When devices are stacked, one device's merge_bvec_fn may need to perform
the mapping and then call one or more functions for its underlying devices.

The following bio fields are used:
  bio->bi_sector
  bio->bi_bdev
  bio->bi_size
  bio->bi_rw  using bio_data_dir()

This patch creates a new struct bvec_merge_data holding a copy of those
fields to avoid having to change them directly in the struct bio when
going down the stack only to have to change them back again on the way
back up.  (And then when the bio gets mapped for real, the whole
exercise gets repeated, but that's a problem for another day...)

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Milan Broz <mbroz@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-07-03 13:21:15 +02:00
..
aoe block: avoid duplicate calls to get_part() in disk stat code 2008-05-07 10:15:46 +02:00
paride block: use blk_rq_init() to initialize the request 2008-04-29 14:48:55 +02:00
amiflop.c m68k: Return -ENODEV if no device is found 2008-05-18 13:28:50 -07:00
ataflop.c Atari floppy: Rename disk_type to atari_disk_type 2008-02-06 10:41:10 -08:00
brd.c Add 'rd' alias to new brd ramdisk driver 2008-06-05 14:23:12 -07:00
cciss_cmd.h [PATCH] cciss: add support for 1024 logical volumes 2006-12-07 08:39:30 -08:00
cciss_scsi.c cciss: fix warning oops on rmmod of driver 2008-04-21 09:50:09 +02:00
cciss_scsi.h cciss: update copyright notices 2007-10-29 11:33:05 +01:00
cciss.c cciss: add new hardware support 2008-06-12 18:05:40 -07:00
cciss.h [PATCH] cciss: add support for 1024 logical volumes 2006-12-07 08:39:30 -08:00
cpqarray.c proc: remove proc_root_driver 2008-04-29 08:06:18 -07:00
cpqarray.h
cryptoloop.c drivers: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:16:32 -04:00
DAC960.c blk_end_request: changing DAC960 (take 4) 2008-01-28 10:36:04 +01:00
DAC960.h Fix DAC960 driver on machines which don't support 64-bit DMA 2007-09-11 17:21:19 -07:00
floppy.c drivers/block/floppy.c: replace init_module&cleanup_module with module_init&module_exit 2008-04-29 08:06:03 -07:00
ida_cmd.h
ida_ioctl.h
Kconfig The ps2esdi driver was marked as BROKEN more than two years ago due to being 2008-03-17 09:03:05 +01:00
loop.c block: make queue flags non-atomic 2008-04-29 14:48:33 +02:00
Makefile The ps2esdi driver was marked as BROKEN more than two years ago due to being 2008-03-17 09:03:05 +01:00
nbd.c Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2008-04-29 08:18:03 -07:00
pktcdvd.c Add bvec_merge_data to handle stacked devices and ->merge_bvec() 2008-07-03 13:21:15 +02:00
ps3disk.c block: no need to initialize rq->cmd in prepare_flush_fn hook 2008-04-29 14:48:54 +02:00
smart1,2.h
sunvdc.c block/sunvdc.c:print_version() must be __devinit 2008-02-01 09:26:32 +01:00
swim3.c Fix compile of swim3 as module 2008-02-14 20:58:04 -08:00
sx8.c block: replace remaining __FUNCTION__ occurrences 2008-04-21 09:51:04 +02:00
ub.c ub: Cosmetics 2008-05-02 10:25:52 -07:00
umem.c Cleanup umem driver: fix most checkpatch warnings, conform to kernel 2007-12-18 08:29:28 +01:00
umem.h drivers/block/umem: trim trailing whitespace 2007-10-10 09:25:59 +02:00
viodasd.c [POWERPC] iSeries: Remove unused mail address 2008-05-23 16:45:04 +10:00
virtio_blk.c virtio_blk: allow read-only disks 2008-05-30 15:09:44 +10:00
xd.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
xd.h [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
xen-blkfront.c xen: Avoid allocations causing swap activity on the resume path 2008-07-03 13:21:13 +02:00
xsysace.c [POWERPC] Xilinx: Update compatible to use values generated by BSP generator. 2008-02-06 10:23:21 -07:00
z2ram.c m68k: Return -ENODEV if no device is found 2008-05-18 13:28:50 -07:00