• Lars Ellenberg's avatar
    drbd: don't expose failed local READ to upper layers · 5c3c7e64
    Lars Ellenberg authored
    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: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
    Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
    5c3c7e64
drbd_worker.c 39.4 KB