linux/drivers/block/drbd
Lars Ellenberg 5c3c7e64bb drbd: don't expose failed local READ to upper layers
fix regression introduced in 8.3.3:
 commit a9b17323f2875f5d9b132c2b476a750bf44b10c7
 Author: Lars Ellenberg <lars.ellenberg@linbit.com>
 Date:   Wed Aug 12 15:18:33 2009 +0200

     out-of-spinlock completion of master bio

 : (bio_rw(bio) == READA)
    ? read_completed_with_error
    : read_ahead_completed_with_error;

is obviously not what was intended.

No one noticed because of
 * page-cache at work,
 * local RAIDs

Impact:
Failed local READs are not retried remotely,
but errored to upper layers, causing filesystems
to remount read-only, or worse.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2010-05-03 22:40:16 +02:00
..
drbd_actlog.c drbd: lc_element_by_index() never returns NULL 2010-04-02 08:40:33 +02:00
drbd_bitmap.c Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2010-04-09 11:50:29 -07:00
drbd_int.h Merge branch 'master' into for-linus 2010-03-19 08:05:10 +01:00
drbd_main.c drbd: fix memory leak 2010-04-22 14:27:23 +02:00
drbd_nl.c drbd: Renamed overwrite_peer to primary_force 2010-03-11 16:32:14 +01:00
drbd_proc.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
drbd_receiver.c drbd: Terminate a connection early if sending the protocol fails 2010-04-22 14:50:23 +02:00
drbd_req.c drbd_req.c: use part_[inc|dec]_in_flight() 2009-12-03 17:40:51 +01:00
drbd_req.h tree-wide: Assorted spelling fixes 2010-02-09 11:13:56 +01:00
drbd_strings.c The DRBD driver 2009-10-01 21:17:49 +02:00
drbd_vli.h The DRBD driver 2009-10-01 21:17:49 +02:00
drbd_worker.c drbd: don't expose failed local READ to upper layers 2010-05-03 22:40:16 +02:00
drbd_wrappers.h The DRBD driver 2009-10-01 21:17:49 +02:00
Kconfig drbd: Kconfig fix 2009-12-29 17:38:28 +01:00
Makefile drbd: remove tracing bits 2009-10-01 21:17:58 +02:00