[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
This bug was fixed in the package vm-builder - 0.12.4-0ubuntu0.3 --- vm-builder (0.12.4-0ubuntu0.3) lucid-proposed; urgency=low * debian/patches/0001-lp531599.patch: Backport fix for LP: #531599 which removes dev maps created by parted. -- Louis BouchardMon, 04 Jun 2012 12:33:21 +0100 ** Changed in: vm-builder (Ubuntu Lucid) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
Changed tag to verification-done. tested in a Lucid environment with initial reproducer and it no longer leaves a lingering dm map. Behavior is as expected. ** Tags removed: verification-needed ** Tags added: verification-done -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
** Branch linked: lp:ubuntu/lucid-proposed/vm-builder -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
Hello Simon, or anyone else affected, Accepted vm-builder into lucid-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/vm- builder/0.12.4-0ubuntu0.3 in a few hours, and then in the -proposed repository. Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users. If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision. Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance! ** Tags added: verification-needed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
Corrected the bug number in the changelog entry, retarrgeted the upload at lucid-proposed, and uploaded. It's now waiting for SRU team review. ** Changed in: vm-builder (Ubuntu Lucid) Status: New => Fix Committed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
@micah I'm sorry, I thought I had done so. Here is the debdiff against the ubuntu version. Let me know if this is sufficient. ** Patch added: "vm-builder_0.12.4-0ubuntu0.3.debdiff" https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+attachment/3157330/+files/vm-builder_0.12.4-0ubuntu0.3.debdiff -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
Unsubscribing sponsors as I don't see a patch for lucid, please resubscribe when a patch or merge proposal is ready -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
** Also affects: vm-builder (Ubuntu Lucid) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
** Description changed: + SRU Request for Lucid + + [Impact] This bug occurs systematically when the --raw option is used to + create a VM. This results in file system data corruption messages in the + VM created. + + [Development/Stable Fix] Fixed in 0.12.4+bzr475-0ubuntu1 for precise as stated in comment #9 with the following addition : + [ Louis Bouchard ] + * Remove dev maps created by parted. (LP: #531599) + + + [Test Case] section with detailed instructions how to reproduce the bug. These should allow someone who is not familiar with the affected package to reproduce the bug and verify that the updated package fixes the problem. + + On an unmodified system with an existging 8Gb LVM volume named + /dev/sysvg/testvmvol, run the following command : + + ubuntu-vm-builder kvm natty --lang=en_US --hostname=testvm + --rootsize=8000 --mem=10240 --cpus=2 --rootpass=X --arch=amd64 + --libvirt=qemu:///system --raw=/dev/sysvg/testvmvol + + On an unmodified system, once completed, the dmsetup list command will show the following : + $ dmsetup ls + sysvg-testvmvol1p1(252, 2) + sysvg-testvmvol1(252, 1) + sysvg-testvmvol (252, 0) + + The sysvg-testvmvol1p1 table should not be there + + [Regression Potential] This fix needs to be backported to the LTS + version to avoid potential file system corruption. + + --- + I've tried to install a vm using an LVM logical volume with --raw. The problem was that I used a too small logical volume. vmbuilder told me: 2010-03-03 21:33:59,923 INFO: Adding partition table to disk image: /dev/mapper/leo01-test--disk 2010-03-03 21:34:00,007 INFO: Adding type 1 partition to disk image: /dev/mapper/leo01-test--disk 2010-03-03 21:34:00,879 INFO: Adding type 3 partition to disk image: /dev/mapper/leo01-test--disk 2010-03-03 21:34:00,890 INFO: [0] ../../libparted/filesys.c:147 (ped_file_system_type_get): File system alias linux-swap(new) is deprecated 2010-03-03 21:34:00,892 INFO: Cleaning up Traceback (most recent call last): - File "/usr/bin/vmbuilder", line 29, in - VMBuilder.run() - File "/usr/lib/python2.6/dist-packages/VMBuilder/__init__.py", line 65, in run - frontend.run() - File "/usr/lib/python2.6/dist-packages/VMBuilder/plugins/cli/__init__.py", line 68, in run - vm.create() - File "/usr/lib/python2.6/dist-packages/VMBuilder/vm.py", line 480, in create - disk.create_partitions(self) - File "/usr/lib/python2.6/dist-packages/VMBuilder/disk.py", line 416, in create_partitions - disk.create(vm.workdir) - File "/usr/lib/python2.6/dist-packages/VMBuilder/disk.py", line 100, in create - part.create(self) - File "/usr/lib/python2.6/dist-packages/VMBuilder/disk.py", line 244, in create - run_cmd('parted', '--script', '--', disk.filename, 'mkpart', 'primary', self.parted_fstype(), self.begin, self.end) - File "/usr/lib/python2.6/dist-packages/VMBuilder/util.py", line 135, in run_cmd - raise VMBuilderException, "Process (%s) returned %d. stdout: %s, stderr: %s" % (args.__repr__(), status, stdout, stderr) + File "/usr/bin/vmbuilder", line 29, in + VMBuilder.run() + File "/usr/lib/python2.6/dist-packages/VMBuilder/__init__.py", line 65, in run + frontend.run() + File "/usr/lib/python2.6/dist-packages/VMBuilder/plugins/cli/__init__.py", line 68, in run + vm.create() + File "/usr/lib/python2.6/dist-packages/VMBuilder/vm.py", line 480, in create + disk.create_partitions(self) + File "/usr/lib/python2.6/dist-packages/VMBuilder/disk.py", line 416, in create_partitions + disk.create(vm.workdir) + File "/usr/lib/python2.6/dist-packages/VMBuilder/disk.py", line 100, in create + part.create(self) + File "/usr/lib/python2.6/dist-packages/VMBuilder/disk.py", line 244, in create + run_cmd('parted', '--script', '--', disk.filename, 'mkpart', 'primary', self.parted_fstype(), self.begin, self.end) + File "/usr/lib/python2.6/dist-packages/VMBuilder/util.py", line 135, in run_cmd + raise VMBuilderException, "Process (%s) returned %d. stdout: %s, stderr: %s" % (args.__repr__(), status, stdout, stderr) VMBuilder.exception.VMBuilderException: Process (['parted', '--script', '--', '/dev/mapper/leo01-test--disk', 'mkpart', 'primary', 'linux-swap(new)', '9', '1032']) returned 1. stdout: Error: The location 1032 is outside of the device /dev/mapper/leo01-test--disk. , stderr: [0] ../../libparted/filesys.c:147 (ped_file_system_type_get): File system alias linux-swap(new) is deprecated While this is a lot of noise, telling me 'location 1032 is outside of the device...' made me recognize my mistake. The problem is that I wasn't able to just remove the logical volume, create a bigger one and start again: - sudo lvremove /dev/mapper/leo01-test--disk -Can't remove open logical volume "test-disk" + sudo lvremove /dev/mapper/leo01-test--disk + Can't remove open logical volume "test-disk" The reason
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
** Also affects: vmbuilder Importance: Undecided Status: New ** No longer affects: vmbuilder -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
@Simon Nevermind the previous request, I was able to reproduce the bug myself. As the issue fixed by this patch only happens when --raw is used, the modification is not restrictive enough and try to remove nonexistent maps. I'll work on refining the patch. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
@Simon Could you please provide an example of the vmbuilder command that you used to generate the problem, so I can test with it ? Kind regards -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
The new fix 0.12.4+bzr475-0ubuntu1 seems to have created another bug: Repoduce the Bug : Use vmbuilder to create VM, execution would terminate right at "Unmounting target filesystem". An error occurs when the system tries to unmount /dev/mapper/loop0pp1 It seems to be a typo, it should be /dev/mapper/loop0p1 (Only one 'p'). Rollbacked to 0.12.4+bzr471-0ubuntu1 and this problem is gone. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
This bug was fixed in the package vm-builder - 0.12.4+bzr475-0ubuntu1 --- vm-builder (0.12.4+bzr475-0ubuntu1) precise; urgency=low [ Louis Bouchard ] * Remove dev maps created by parted. (LP: #531599) [ Serge Hallyn ] * pre-hook to create vcsversion.py is failing, work around it. -- Serge HallynThu, 22 Dec 2011 09:18:12 -0600 ** Changed in: vm-builder (Ubuntu) Status: Confirmed => Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
** Branch linked: lp:~vmbuilder-dev/vmbuilder/packaging -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
** Branch linked: lp:~louis-bouchard/ubuntu/precise/vm-builder/lp531599 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
I have been able to test a potential fix for this problem. The unmap() function is responsible for tearing apart the device maps created by the kpartx commands. Those are created by the map_partitions() function. While tearing down the device maps created by the parted command, which is invoked in the partition() function might be better done by a callback in the partition() function, the patch is simpler by adding to the existing unmap() which is a callback from map_partition, which is invoked sequentially after partition() in hypervisor.py. Please let me know if the patch in the proposed branch is unacceptable. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
After doing some test to identify what is creating this duplicate set of dm maps, it seems to be the following 'parted mkpart' commands that triggers the udev rule : >From /usr/share/pyshared/VMBuilder/disk.py : def create(self, disk): """Adds partition to the disk image (does not mkfs or anything like that)""" logging.info('Adding type %d partition to disk image: %s' % (self.type, disk.filename)) run_cmd('parted', '--script', '--', disk.filename, 'mkpart', 'primary', self.parted_fstype(), self.begin, self.end) running the equivalent command while watching the dm tables does show a new table entry when the 'parted --script {dev} mkpart primary ext2 {beginning} {size}' command is invoked. Currently, it is unclear to me if the removal of those unnecessary dm entries should be done by a callback from create() or included in the existing unmap() callback for map_partitions. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/531599/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
I can confirm this bug too, using vmbuilder 0.12.4 on an up to date lucid. Vmbuilder complete guest creation without an error. But launching the guest with the mapping cause immediate fs corruption. This has nothing to do with the lv size. Simon have done all the investigation correctly but I don't how to fix that. The only solution is to not forget to remove this mapping before launchping the guest. I would appreciate if this could be fixed. Regards -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/531599 Title: device mappings for partitions not removed after build using --raw, leading to filesystem corruption -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 531599] Re: device mappings for partitions not removed after build using --raw, leading to filesystem corruption
After some investigation it looks like vmbuilder is nicely registering a callback hook to unmap the devices it sets up using kpartx. The problem is udev rules adding device mappings using kpartx as soon as the raw device gets partitioned. AFAIK the relevant udev rule is /lib/udev/rules.d/55-dm.rules. I don't exactly know how and who creates the mapping but it follows the scheme /dev/mapper/{DEVICE}p{X}. I first thought it would be /lib/udev/rules.d/95-kpartx.rules, but this would create /dev/mapper/{DEVICE}-part{X} mappings. The kpartx call in vmbuilder does use the scheme /dev/mapper/{DEVICE}{X} and thus doesn't clash with the set up mappings. But it also doesn't destroy it in the cleanup call back. -- device mappings for partitions not removed after build using --raw, leading to filesystem corruption https://bugs.launchpad.net/bugs/531599 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs