]> git.baikalelectronics.ru Git - kernel.git/commit
dm raid1: handle log failure
authorJonathan Brassow <jbrassow@redhat.com>
Thu, 12 Jul 2007 16:29:15 +0000 (17:29 +0100)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 12 Jul 2007 22:01:08 +0000 (15:01 -0700)
commit51e40a0a9aec49c41f859cb0cafd5355361705f3
tree071fe0a07269c656448dc5dbe453eaa8e6f1a24a
parentbcda1dd3e0e1a3c230a74d8d755bd9679d529d94
dm raid1: handle log failure

When writing to a mirror, the log must be updated first.  Failure
to update the log could result in the log not properly reflecting
the state of the mirror if the machine should crash.

We change the return type of the rh_flush function to give us
the ability to check if a log write was successful.  If the
log write was unsuccessful, we fail the writes to avoid the
case where the log does not properly reflect the state of the
mirror.

A follow-up patch - which is dependent on the ability to
requeue I/O's to core device-mapper - will requeue the I/O's
for retry (allowing the mirror to be reconfigured.)

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/md/dm-raid1.c