The snapshot chunk size must not exceed 512K or else bvec_alloc_bs() will fail with 4K pages, and snapshot metadata needs to be usable regardless of page size. Signed-Off-By: Alasdair G Kergon Index: linux-2.6.16-rc1/drivers/md/dm-snap.c =================================================================== --- linux-2.6.16-rc1.orig/drivers/md/dm-snap.c +++ linux-2.6.16-rc1/drivers/md/dm-snap.c @@ -477,6 +477,13 @@ static int snapshot_ctr(struct dm_target goto bad3; } + /* Max chunk size determined by BIO_MAX_PAGES and smallest PAGE_SIZE */ + if (chunk_size > 1024) { + ti->error = "Chunk size may not exceed 512K"; + r = -EINVAL; + goto bad3; + } + s->chunk_size = chunk_size; s->chunk_mask = chunk_size - 1; s->type = persistent;