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.18-rc7/drivers/md/dm-snap.c =================================================================== --- linux-2.6.18-rc7.orig/drivers/md/dm-snap.c 2006-10-13 17:10:21.000000000 +0100 +++ linux-2.6.18-rc7/drivers/md/dm-snap.c 2006-10-13 17:10:37.000000000 +0100 @@ -426,6 +426,13 @@ static int set_chunk_size(struct dm_snap return -EINVAL; } + /* 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->chunk_shift = ffs(chunk_size) - 1;