kernel-ark/drivers/block
Yehuda Sadeh 1fec70932d rbd: fix split bio handling
The rbd driver currently splits bios when they span an object boundary.
However, the blk_end_request expects the completions to roll up the results
in block device order, and the split rbd/ceph ops can complete in any
order.  This patch adds a struct rbd_req_coll to track completion of split
requests and ensures that the results are passed back up to the block layer
in order.

This fixes errors where the file system gets completion of a read operation
that spans an object boundary before the data has actually arrived.  The
bug is easily reproduced with iozone with a working set larger than
available RAM.

Reported-by: Fyodor Ustinov <ufm@ufm.su>
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-13 13:52:57 -07:00
..
aoe
drbd Fix common misspellings 2011-03-31 11:26:23 -03:00
paride
amiflop.c Merge branch 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block 2011-03-24 10:16:26 -07:00
ataflop.c
brd.c
cciss_cmd.h cciss: Inform controller we are using 32-bit tags. 2011-03-12 10:02:16 +01:00
cciss_scsi.c Revert "cciss: Add missing allocation in scsi_cmd_stack_setup and corresponding deallocation" 2011-03-12 13:47:51 +01:00
cciss_scsi.h
cciss.c cciss: fix missed command status value CMD_UNABORTABLE 2011-03-12 10:02:30 +01:00
cciss.h cciss: fix lost command issue 2011-03-23 20:47:11 +01:00
cpqarray.c
cpqarray.h
cryptoloop.c
DAC960.c Fix common misspellings 2011-03-31 11:26:23 -03:00
DAC960.h
floppy.c
hd.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ida_cmd.h
ida_ioctl.h
Kconfig
loop.c
Makefile
mg_disk.c
nbd.c
osdblk.c
pktcdvd.c
ps3disk.c
ps3vram.c
rbd_types.h
rbd.c rbd: fix split bio handling 2011-05-13 13:52:57 -07:00
smart1,2.h
sunvdc.c
swim3.c
swim_asm.S
swim.c
sx8.c
ub.c
umem.c
umem.h
viodasd.c Fix common misspellings 2011-03-31 11:26:23 -03:00
virtio_blk.c
xd.c
xd.h
xen-blkfront.c Merge branch 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm 2011-03-15 10:59:09 -07:00
xsysace.c Fix common misspellings 2011-03-31 11:26:23 -03:00
z2ram.c