[dm-devel] thin_repair doesn't do size checking on the output device

M.H. Tsai mingnus at gmail.com
Mon May 19 07:13:24 UTC 2014

Hi All,

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?

Many Thanks,
Ming-Hung Tsai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20140519/84221107/attachment.htm>

More information about the dm-devel mailing list