The snapshot destructor shouldn't be triggering an event, this code
must date from before the reference counting of tables was put in.
--- diff/drivers/md/dm-snap.c	2004-02-09 15:34:15.000000000 +0000
+++ source/drivers/md/dm-snap.c	2004-02-12 17:14:41.000000000 +0000
@@ -546,8 +546,6 @@
 {
 	struct dm_snapshot *s = (struct dm_snapshot *) ti->private;
 
-	dm_table_event(ti->table);
-
 	unregister_snapshot(s);
 
 	exit_exception_table(&s->pending, pending_cache);
