Handle writes to a snapshot-origin device that has been extended since the snapshot was taken. [submitted to -mm] --- diff/drivers/md/dm-snap.c 2005-06-17 20:48:29.000000000 +0100 +++ source/drivers/md/dm-snap.c 2005-07-06 17:18:27.000000000 +0100 @@ -931,6 +931,10 @@ if (!snap->valid) continue; + /* Nothing to do if writing beyond end of snapshot */ + if (bio->bi_sector >= dm_table_get_size(snap->table)) + continue; + down_write(&snap->lock); /* --- diff/drivers/md/dm-table.c 2005-06-17 20:48:29.000000000 +0100 +++ source/drivers/md/dm-table.c 2005-07-06 17:18:27.000000000 +0100 @@ -943,6 +943,7 @@ EXPORT_SYMBOL(dm_get_device); EXPORT_SYMBOL(dm_put_device); EXPORT_SYMBOL(dm_table_event); +EXPORT_SYMBOL(dm_table_get_size); EXPORT_SYMBOL(dm_table_get_mode); EXPORT_SYMBOL(dm_table_put); EXPORT_SYMBOL(dm_table_get);