kernel-ark/drivers/block
Lars Ellenberg 6719fb036c drbd: fix potential data divergence after multiple failures
If we get an IO-error during an activity log transaction,
if we failed to write the bitmap of the evicted extent,
we must not write the transaction itself.
If we failed to write the transaction,
we must not even submit the corresponding bio,
as its extent is not yet marked in the activity log.

Otherwise, if this was a disconneted Primary (degraded cluster), which
now lost its disk as well, and we later re-attach the same backend
storage, we possibly "forget" to resync some parts of the disk that
potentially have been changed.

On the receiving side, when receiving from a peer with unhealthy disk,
checking for pdsk == D_DISKLESS is not enough, we need to set out of
sync and do AL transactions for everything pdsk < D_INCONSISTENT on the
receiving side.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2010-10-22 15:50:27 +02:00
..
aoe block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
drbd drbd: fix potential data divergence after multiple failures 2010-10-22 15:50:27 +02:00
paride block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
amiflop.c amiga floppy: Compile failure fixes 2010-09-26 12:23:25 +09:00
ataflop.c atari floppy: Stop sharing request queue across multiple gendisks 2010-09-24 20:35:45 +02:00
brd.c block: push down BKL into .locked_ioctl 2010-08-07 18:25:00 +02:00
cciss_cmd.h cciss: fix hard reset code. 2010-08-07 18:52:30 +02:00
cciss_scsi.c cciss: change printks to dev_warn, etc. 2010-08-07 18:52:30 +02:00
cciss_scsi.h cciss: remove C99-style comments 2010-02-22 13:44:45 +01:00
cciss.c cciss: fix PCI IDs for new Smart Array controllers 2010-10-19 09:40:34 +02:00
cciss.h cciss: use consistent variable names 2010-08-07 18:52:30 +02:00
cpqarray.c cpqarray: check put_user() result 2010-08-07 18:53:03 +02:00
cpqarray.h
cryptoloop.c
DAC960.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
DAC960.h
floppy.c floppy: switch to one queue per drive instead of sharing a queue 2010-09-22 09:32:36 +02:00
hd.c block: remove wrappers for request type/flags 2010-08-07 18:17:56 +02:00
ida_cmd.h
ida_ioctl.h
Kconfig paride: fix menu indentation 2010-05-11 09:02:55 +02:00
loop.c loop: add some basic read-only sysfs attributes 2010-08-23 15:18:10 +02:00
Makefile
mg_disk.c block: remove wrappers for request type/flags 2010-08-07 18:17:56 +02:00
nbd.c Merge branch 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block 2010-08-10 15:22:42 -07:00
osdblk.c block: remove q->prepare_flush_fn completely 2010-08-07 18:24:15 +02:00
pktcdvd.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
ps3disk.c block: remove q->prepare_flush_fn completely 2010-08-07 18:24:15 +02:00
ps3vram.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
smart1,2.h
sunvdc.c block: Consolidate phys_segment and hw_segment limits 2010-02-26 13:58:08 +01:00
swim3.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
swim_asm.S
swim.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
sx8.c block: Consolidate phys_segment and hw_segment limits 2010-02-26 13:58:08 +01:00
ub.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
umem.c block: unify flags for struct bio and struct request 2010-08-07 18:20:39 +02:00
umem.h
viodasd.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
virtio_blk.c Merge branch 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block 2010-08-10 15:22:42 -07:00
xd.c block: push down BKL into .locked_ioctl 2010-08-07 18:25:00 +02:00
xd.h
xen-blkfront.c Merge branch 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block 2010-08-10 15:22:42 -07:00
xsysace.c of: fix missing headers for of_address_to_resource() in MTD and SysACE drivers 2010-08-17 13:16:47 -06:00
z2ram.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00