The original post asks how to do if the superblock was broken (his superblock was accidentally wiped). Since that I don't have time to update the program at this moment, here's my workaround: 1. Partially rebuild the superblock (1) Obtain pool parameter from LVM ./sbin/lvm lvs vg1/tp1 -o transaction_id,chunksize,lv_size --units s sample output: Tran Chunk LSize 3545 128S 7999381504S The number of data blocks is $((7999381504/128)) = 62495168 (2) Create input.xml with pool parameters obtained from LVM: <superblock uuid="" time="0" transaction="3545" data_block_size="128" nr_data_blocks="62495168"> </superblock> (3) Run thin_restore to generate a temporary metadata with correct superblock dd if=/dev/zero of=/tmp/test.bin bs=1M count=16 thin_restore -i input.xml -o /tmp/test.bin The size of /tmp/test.bin depends on your pool size. (4) Copy the partially-rebuilt superblock (4KB) to your broken metadata. (<src_metadata>). dd if=/tmp/test.bin of=<src_metadata> bs=4k count=1 conv=notrunc 2. Run thin_ll_dump and thin_ll_restore https://www.redhat.com/archives/linux-lvm/2016-February/msg00038.html Example: assume that we found data-mapping-root=2303 and device-details-root=277313 ./pdata_tools thin_ll_dump <src_metadata> --data-mapping-root=2303 \ --device-details-root 277313 -o thin_ll_dump.txt ./pdata_tools thin_ll_restore -E <src_metadata> -i thin_ll_dump.txt \ -o <dst_metadata> Note that <dst_metadata> should be sufficient large especially when you have snapshots, since that the mapping trees reconstructed by thintools do not share blocks. 3. Fix superblock's time field (1) Run thin_dump on the repaired metadata thin_dump <dst_metadata> -o thin_dump.txt (2) Find the maximum time value in data mapping trees (the device with maximum snap_time might be remove, so find the maximum time in data mapping trees, not the device detail tree) grep "time=\"[0-9]*\"" thin_dump.txt -o | uniq | sort | uniq | tail (I run uniq twice to avoid sorting too much data) sample output: ... time="1785" time="1786" time="1787" so the maximum time is 1787. (3) Edit the "time" value of the <superblock> tag in thin_dump's output <superblock uuid="" time="1787" ... > ... (4) Run thin_restore to get the final metadata thin_restore -i thin_dump.txt -o <dst_metadata> Ming-Hung Tsai _______________________________________________ linux-lvm mailing list linux-lvm@redhat.com https://www.redhat.com/mailman/listinfo/linux-lvm read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/