[dm-devel] thin_repair doesn't do size checking on the output device
mingnus at gmail.com
Mon May 19 07:13:24 UTC 2014
I'm using LVM2.2.02.106 and thin-provisioning-tools 0.3.2 on Ubuntu 13.10.
I found that thin_repair doesn't do size checking on the output device,
thus it will crash if the output device is larger than the space map's
limitation (i.e., 255*16320*4096 bytes). The bitmap_count calculated by
sm_disk::extend() might exceeded 255.
The direct influence is that it cannot collaborate with the LVM2 "lvconvert
--repair" command while the thinpool's metadata is exactly 16GiB. The
reason is that the size of the pool metadata spare's DM target activated by
_lvconvert_thinpool_repair() is 16384MiB, not 16192MiB. LVM2 only adjust
the DM target's size to DM_THIN_MAX_METADATA_SIZE(16192MiB) while the
metadata or the spare volume are activated within a thinpool.
If this is a bug, I thought that it might be better to add size checking to
thin_repair, since that users might use devices larger than 16GiB as the
output device. Is that a feasible approach?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the dm-devel