Red Hat Bugzilla – Bug 173153
kernel dm: 1024K snapshot chunksize causes bvec_alloc_bs() failure
Last modified: 2009-11-18 11:40:51 EST
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.
I can't think of a clean way to do this properly. Let's just check we detect
incompatible snapshots and don't attempt to activate them. Quick investigation
and see if anything simple needs changing.
I tested big snapshots (8M and 16M) on upstream, RHEL 4 and RHEL 5 and they just
work. (I remove the test from lvcreate)
If they didn't, it would be quite trivial to make them work (code for breaking
the request up into pieces is already in kcopyd, so it could be just used
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release. Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release. This request is not yet committed for
So in summary, I believe the original problem - the crash that occurred when creating a snapshot with a large chunksize on one architecture and later using it on an architecture with a different page size - has been fixed upstream (and therefore in RHEL6). Mikulas, if you agree, we should now close this bug.
Yes, it is fixed in upstream 2.6.29 and above, so it will be fixed in RHEL 6.0 as well.
Some times ago I tested chunk sizes bigger than 1M and they work. So I'm closing this bug.
BTW. that crash with chunk_size < page_size is a separate issue, and it was already fixed in upstream and in RHEL 5.