Enable the new code that checks that an exception isn't already being copied. --- diff/drivers/md/dm-snapshot.c 2003-12-29 10:13:48.000000000 +0000 +++ source/drivers/md/dm-snapshot.c 2003-12-29 10:14:26.000000000 +0000 @@ -1051,18 +1051,13 @@ if (first) queue_bio(&pe->origin_bios, bio); -#if 0 if (!pe->started) { pe->started = 1; up_write(&pe->snap->lock); start_copy(pe); } else up_write(&pe->snap->lock); -#else - pe->started = 1; - up_write(&pe->snap->lock); - start_copy(pe); -#endif + first = 0; pe = list_entry(pe->siblings.next, struct pending_exception, siblings);