summaryrefslogtreecommitdiffstats
path: root/Documentation/initrd.txt
diff options
context:
space:
mode:
authorJonathan Brassow <jbrassow@redhat.com>2008-02-08 03:11:37 +0100
committerAlasdair G Kergon <agk@redhat.com>2008-02-08 03:11:37 +0100
commit06386bbfd2441416875d0403d405c56822f6ebac (patch)
treece66e5d061f67df6e85854aafaf0c43620513359 /Documentation/initrd.txt
parentdm raid1: fix EIO after log failure (diff)
downloadlinux-06386bbfd2441416875d0403d405c56822f6ebac.tar.xz
linux-06386bbfd2441416875d0403d405c56822f6ebac.zip
dm raid1: handle read failures
This patch gives the ability to respond-to/record device failures that happen during read operations. It also adds the ability to read from mirror devices that are not the primary if they are in-sync. There are essentially two read paths in mirroring; the direct path and the queued path. When a read request is mapped, if the region is 'in-sync' the direct path is taken; otherwise the queued path is taken. If the direct path is taken, we must record bio information so that if the read fails we can retry it. We then discover the status of a direct read through mirror_end_io. If the read has failed, we will mark the device from which the read was attempted as failed (so we don't try to read from it again), restore the bio and try again. If the queued path is taken, we discover the results of the read from 'read_callback'. If the device failed, we will mark the device as failed and attempt the read again if there is another device where this region is known to be 'in-sync'. Signed-off-by: Jonathan Brassow <jbrassow@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'Documentation/initrd.txt')
0 files changed, 0 insertions, 0 deletions