Bug#659762: lvremove failure log

Oskar Liljeblad oskar at osk.mine.nu
Tue Jan 15 16:09:34 UTC 2013


On Tuesday, January 15, 2013 at 15:36, Alasdair G Kergon wrote:
> > After several tries, I managed to reproduce the problem. This time I ran
> > lvremove -vvvv -f /dev/vg1/backup, and the output is attached. I hope you
> > can make some sense out of it.
> 
> > #libdm-deptree.c:1547   Unable to deactivate open vg1-backup-cow (253:3)
>  
> Likely to be a bug in your udev rules.
> (Does Debian still differ from upstream?)

Do you know which rules?
Are you referring to https://bugzilla.redhat.com/show_bug.cgi?id=570359?
Maybe I'm grasping at straws, but do you think this problem would be fixed
by adding the appropriate udev rules?
I did a quick comparison of Debian's udev rule files and those in lvm2 GIT.
Example:

---
Debian: /lib/udev/rules.d/56-lvm.rules
lvm2: udev/11-dm-lvm.rules
Missing in Debian:

  # Do not create symlinks for inappropriate subdevices.
  ENV{DM_LV_NAME}=="pvmove?*|?*_vorigin", GOTO="lvm_disable"
  ENV{DM_LV_LAYER}=="?*", GOTO="lvm_disable"

  # Create symlinks for top-level devices only.
  ENV{DM_VG_NAME}=="?*", ENV{DM_LV_NAME}=="?*", SYMLINK+="$env{DM_VG_NAME}/$env{DM_LV_NAME}", GOTO="lvm_end"
---

---
Debian: (none)
lvm2: udev/69-dm-lvm-metad.rules
Missing in Debian:

  SUBSYSTEM!="block", GOTO="lvm_end"

  # Device-mapper devices are processed only on change event or on supported
  # synthesized event.
  KERNEL=="dm-[0-9]*", ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="lvm_end"

  # Only process devices already marked as a PV - this requires blkid to be
  # called before.
  ENV{ID_FS_TYPE}=="LVM2_member|LVM1_member", RUN+="$env{DM_SBIN_PATH}/pvscan --cache --major $major --minor $minor"

  LABEL="lvm_end"
---

---
Debian: /lib/udev/rules.d/55-dm.rules
lvm2: udev/10-dm.rules.in
Missing in Debian:

  <VSN stuff, whatever that is>

  # Decode udev control flags and set environment variables appropriately.
  # These flags are encoded in DM_COOKIE variable that was introduced in
  # kernel version 2.6.31. Therefore, we can use this feature with
  # kernels >= 2.6.31 only. Cookie is not decoded for remove event.
  ENV{DM_COOKIE}=="?*", IMPORT{program}="$env{DM_SBIN_PATH}/dmsetup udevflags $env{DM_COOKIE}"
---

Regards,

Oskar



More information about the pkg-lvm-maintainers mailing list