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 <agk@redhat.com>

Index: linux-2.6.16-rc1/drivers/md/dm-snap.c
===================================================================
--- linux-2.6.16-rc1.orig/drivers/md/dm-snap.c	2006-02-06 17:33:46.000000000 +0000
+++ linux-2.6.16-rc1/drivers/md/dm-snap.c	2006-02-06 17:33:55.000000000 +0000
@@ -479,6 +479,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;