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.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
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
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
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
smart1,2.h
sunvdc.c
swim.c
block: push down BKL into .open and .release
2010-08-07 18:25:34 +02:00
swim3.c
block: push down BKL into .open and .release
2010-08-07 18:25:34 +02:00
swim_asm.S
sx8.c
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