linux/drivers/md
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
..
raid6test md: raid6: clean up the style of raid6test/test.c 2008-02-06 10:41:18 -08:00
.gitignore
Kconfig dm: targets no longer experimental 2008-02-08 02:10:32 +00:00
Makefile dm: move include files 2008-04-25 13:26:55 +01:00
bitmap.c md: kill file_path wrapper 2008-05-24 09:56:09 -07:00
dm-bio-list.h dm: bio_list macro renaming 2007-10-20 02:01:11 +01:00
dm-bio-record.h
dm-crypt.c dm crypt: use cond_resched 2008-07-02 09:34:28 +01:00
dm-delay.c dm: bio_list macro renaming 2007-10-20 02:01:11 +01:00
dm-emc.c block: no need to initialize rq->cmd with blk_get_request 2008-04-29 14:48:55 +02:00
dm-exception-store.c dm: move include files 2008-04-25 13:26:55 +01:00
dm-hw-handler.c dm: use kzalloc 2007-10-20 02:01:07 +01:00
dm-hw-handler.h dm mpath: add retry pg init 2007-10-20 02:01:18 +01:00
dm-io.c dm: unplug queues in threads 2008-04-25 13:26:57 +01:00
dm-ioctl.c dm ioctl: use uninitialized_var 2008-02-08 02:10:16 +00:00
dm-kcopyd.c dm: unplug queues in threads 2008-04-25 13:26:57 +01:00
dm-linear.c
dm-log.c dm: move include files 2008-04-25 13:26:55 +01:00
dm-mpath-hp-sw.c block: no need to initialize rq->cmd with blk_get_request 2008-04-29 14:48:55 +02:00
dm-mpath-rdac.c block: no need to initialize rq->cmd with blk_get_request 2008-04-29 14:48:55 +02:00
dm-mpath.c dm mpath: add missing static 2008-02-08 02:10:35 +00:00
dm-mpath.h
dm-path-selector.c dm: use kzalloc 2007-10-20 02:01:07 +01:00
dm-path-selector.h
dm-raid1.c dm: unplug queues in threads 2008-04-25 13:26:57 +01:00
dm-round-robin.c
dm-snap.c dm: move include files 2008-04-25 13:26:55 +01:00
dm-snap.h dm kcopyd: clean interface 2008-04-25 13:26:44 +01:00
dm-stripe.c dm: stripe enhanced status return 2008-02-08 02:11:24 +00:00
dm-table.c dm: use unlocked variants of queue flag check/set 2008-04-29 10:21:12 -07:00
dm-target.c dm: use kzalloc 2007-10-20 02:01:07 +01:00
dm-uevent.c md: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
dm-uevent.h dm: uevent generate events 2007-10-20 02:01:26 +01:00
dm-zero.c
dm.c dm: remove md argument from specific_minor 2008-04-25 13:27:02 +01:00
dm.h dm: expose macros 2008-04-25 13:26:53 +01:00
faulty.c md: change ITERATE_RDEV to rdev_for_each 2008-02-06 10:41:19 -08:00
linear.c Add bvec_merge_data to handle stacked devices and ->merge_bvec() 2008-07-03 13:21:15 +02:00
md.c Fix error paths if md_probe fails. 2008-06-28 08:31:17 +10:00
mktables.c md: raid6: Fix mktable.c 2008-02-06 10:41:18 -08:00
multipath.c md: restart recovery cleanly after device failure. 2008-05-24 09:56:10 -07:00
raid0.c Add bvec_merge_data to handle stacked devices and ->merge_bvec() 2008-07-03 13:21:15 +02:00
raid1.c md: restart recovery cleanly after device failure. 2008-05-24 09:56:10 -07:00
raid5.c Add bvec_merge_data to handle stacked devices and ->merge_bvec() 2008-07-03 13:21:15 +02:00
raid6.h
raid6algos.c drivers/md: use time_before, time_before_eq, etc 2008-04-28 08:58:42 -07:00
raid6altivec.uc
raid6int.uc
raid6mmx.c x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid6recov.c
raid6sse1.c x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid6sse2.c x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid6x86.h x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid10.c Add bvec_merge_data to handle stacked devices and ->merge_bvec() 2008-07-03 13:21:15 +02:00
unroll.pl