Here's a trivial patch to dm-snap.c. Just adds some static declarations and fix up an unused function. diff -ur linux-2.6.6-rc2-mm1-udm1-original/drivers/md/dm-snap.c linux-2.6.6-rc2-mm1-udm1-patched/drivers/md/dm-snap.c --- linux-2.6.6-rc2-mm1-udm1-original/drivers/md/dm-snap.c 2004-04-27 15:10:27.000000000 -0700 +++ linux-2.6.6-rc2-mm1-udm1-patched/drivers/md/dm-snap.c 2004-04-27 14:53:54.000000000 -0700 @@ -608,9 +608,9 @@ return NULL; } +#if 0 static void check_free_space(struct dm_snapshot *s) { -#if 0 sector_t numerator, denominator; double n, d; unsigned pc; @@ -628,8 +628,8 @@ dm_table_event(s->table); s->last_percent = pc - pc % WAKE_UP_PERCENT; } -#endif } +#endif static void pending_complete(struct pending_exception *pe, int success) { @@ -667,8 +667,10 @@ flush_bios(bio_list_get(&pe->snapshot_bios)); DMDEBUG("Exception completed successfully."); +#if 0 /* Notify any interested parties */ //check_free_space(s); +#endif } else { /* Read/write error - snapshot is unusable */ @@ -889,7 +891,7 @@ return r; } -void snapshot_resume(struct dm_target *ti) +static void snapshot_resume(struct dm_target *ti) { struct dm_snapshot *s = (struct dm_snapshot *) ti->private; @@ -1040,7 +1042,7 @@ /* * Called on a write from the origin driver. */ -int do_origin(struct dm_dev *origin, struct bio *bio) +static int do_origin(struct dm_dev *origin, struct bio *bio) { struct origin *o; int r;