Hi When lvconvert -M --namesnapshot is invoked, there is a bug, it ends up with a message like device-mapper: snapshots: exception for block 0 is on disk but not in memory The bug is not in the kernel but in the lvm. It loads -real and -cow devices badly, so that the kernel treats the origin volume as the snapshot. The --namesnapshot option causes that the snapshot becomes the origin and mergin starts, if we have lv-origin owi-a- origin lv-snapshot swi--- snapshot , after lvconvert -M --namesnapshot vg/lv-snapshot, we'll have lv-snapshot Owi-a- mergin snapshot, containing the previous content of lv-snapshot The trick that needs to be done is to preserve the logical volume structure and the device, but move it from one storage to another. Sadly, LVM2 is not designed to do it. That --pivotorigin option that Alasdair implemented needed the same trick and it was buggy too. I'd suggest to remove --namesnapshot option at all (and remove patches lvm-merge-swap-uuid.patch and lvm-merge-swap-lvid-of-underlying-devices.patch that do most of this stuff) and leave only --nameorigin and --onactivate. The implementation of --namesnapshot is very dirty. I was writing that option --namesnapshot for a month, implemented it three times before getting it right. And now some other changes to lvm made it nonworking again. It is unmaintainable over the long term. It is not worth fixing, because it would be beroken again. Other that that, I think that snapshot merging could be applied to the kernel and lvm. Mikulas -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel