Fix oops when removing full snapshot
kernel bugzilla bug 7040
If a snapshot became invalid (full) while there is outstanding
pending_exception, pending_complete() forgets to remove
the corresponding exception from its exception table before freeing it.
Already fixed in 2.6.19.
Signed-off-by: Milan Broz <[email protected]>
Index: linux-2.6.18.5/drivers/md/dm-snap.c
===================================================================
--- linux-2.6.18.5.orig/drivers/md/dm-snap.c 2006-12-02 01:13:05.000000000 +0100
+++ linux-2.6.18.5/drivers/md/dm-snap.c 2006-12-04 17:55:28.000000000 +0100
@@ -691,6 +691,7 @@ static void pending_complete(struct pend
free_exception(e);
+ remove_exception(&pe->e);
error_snapshot_bios(pe);
goto out;
}