Bug 2210358 - vgcreate deadlocks when attempting to specify the same base device twice when it's partitioned
Summary: vgcreate deadlocks when attempting to specify the same base device twice when...
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: lvm2
Version: 9.3
Hardware: x86_64
OS: Linux
unspecified
low
Target Milestone: rc
: ---
Assignee: LVM Team
QA Contact: cluster-qe
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-05-26 19:29 UTC by Corey Marthaler
Modified: 2023-08-10 15:41 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-158323 0 None None None 2023-05-26 19:31:12 UTC

Description Corey Marthaler 2023-05-26 19:29:50 UTC
Description of problem:
[root@grant-01 ~]# vgcreate foo /dev/nvme0n1p1 /dev/sde1 /dev/nvme1n1p1 /dev/sdc1 /dev/sdd1
  Physical volume "/dev/nvme0n1p1" successfully created.
  Physical volume "/dev/sde1" successfully created.
  Physical volume "/dev/nvme1n1p1" successfully created.
  Physical volume "/dev/sdc1" successfully created.
  Physical volume "/dev/sdd1" successfully created.
  Volume group "foo" successfully created
[root@grant-01 ~]# vgremove foo
  Volume group "foo" successfully removed

# one time, but not the partitioned device:
[root@grant-01 ~]# vgcreate foo /dev/nvme0n1p1 /dev/sde /dev/nvme1n1p1 /dev/sdc1 /dev/sdd1
  Cannot use /dev/sde: device is partitioned
  Command requires all devices to be found.

# twice, but the partitioned device:
[root@grant-01 ~]# vgcreate foo /dev/nvme0n1p1 /dev/sde1 /dev/nvme1n1p1 /dev/sdc1 /dev/sde1
  Physical volume '/dev/sde1' is already in volume group 'foo'
  PV /dev/sde1 cannot be added to VG foo.

# Now, add sde back a second time:
[root@grant-01 ~]# vgcreate foo /dev/nvme0n1p1 /dev/sde /dev/nvme1n1p1 /dev/sdc1 /dev/sde
[DEADLOCK]


Version-Release number of selected component (if applicable):
kernel-5.14.0-306.el9    BUILT: Sat Apr 29 05:45:15 PM CEST 2023
lvm2-2.03.21-2.el9    BUILT: Thu May 25 12:03:04 AM CEST 2023
lvm2-libs-2.03.21-2.el9    BUILT: Thu May 25 12:03:04 AM CEST 2023

Comment 1 Corey Marthaler 2023-05-26 19:35:19 UTC
When using the -vvvv flags, you can send a SIGINT and it will return. Without the -vvvv, it appears to just stay stuck.


[...]
21:32:15.577988 vgcreate[40792] label/label.c:714  Processing data from device /dev/nvme0n1p1 259:1 di 0
21:32:15.577993 vgcreate[40792] device/dev-io.c:96  /dev/nvme0n1p1: using cached size 6251233888 sectors
21:32:15.578027 vgcreate[40792] device/dev-io.c:96  /dev/nvme0n1p1: using cached size 6251233888 sectors
21:32:15.578032 vgcreate[40792] filters/filter-persistent.c:131  filter caching good /dev/nvme0n1p1
21:32:15.578037 vgcreate[40792] label/label.c:312  Found label at sector 1 on /dev/nvme0n1p1
21:32:15.578041 vgcreate[40792] cache/lvmcache.c:2484  Found PVID CyceduCkGQDUqdk1SxkyxA5vwBmxR2CY on /dev/nvme0n1p1
21:32:15.578047 vgcreate[40792] cache/lvmcache.c:2007  lvmcache /dev/nvme0n1p1: now in VG #orphans_lvm2 #orphans_lvm2
21:32:15.578051 vgcreate[40792] format_text/text_label.c:538  Scanning /dev/nvme0n1p1 mda1 summary.
21:32:15.578055 vgcreate[40792] format_text/format-text.c:196  Reading mda header sector from /dev/nvme0n1p1 at 4096
21:32:15.578061 vgcreate[40792] format_text/format-text.c:1479  Metadata location on /dev/nvme0n1p1 at 4096 has offset 0.
21:32:15.578151 vgcreate[40792] label/label.c:714  Processing data from device /dev/sda1 8:1 di 1
21:32:15.578155 vgcreate[40792] device/dev-io.c:96  /dev/sda1: using cached size 2097152 sectors
21:32:15.578176 vgcreate[40792] device/dev-io.c:96  /dev/sda1: using cached size 2097152 sectors
21:32:15.578181 vgcreate[40792] filters/filter-persistent.c:131  filter caching good /dev/sda1
21:32:15.578187 vgcreate[40792] label/label.c:399  /dev/sda1: No lvm label detected
21:32:15.578385 vgcreate[40792] label/label.c:714  Processing data from device /dev/sda2 8:2 di 2
21:32:15.578388 vgcreate[40792] device/dev-io.c:96  /dev/sda2: using cached size 935602176 sectors
21:32:15.578401 vgcreate[40792] device/dev-io.c:96  /dev/sda2: using cached size 935602176 sectors
21:32:15.578404 vgcreate[40792] filters/filter-persistent.c:131  filter caching good /dev/sda2
21:32:15.578409 vgcreate[40792] label/label.c:312  Found label at sector 1 on /dev/sda2
21:32:15.578412 vgcreate[40792] cache/lvmcache.c:2484  Found PVID 77j56TbWCYkrguW88mKEA0pmFocQBgGM on /dev/sda2
21:32:15.578416 vgcreate[40792] cache/lvmcache.c:2007  lvmcache /dev/sda2: now in VG #orphans_lvm2 #orphans_lvm2
21:32:15.578419 vgcreate[40792] format_text/text_label.c:538  Scanning /dev/sda2 mda1 summary.
21:32:15.578422 vgcreate[40792] format_text/format-text.c:196  Reading mda header sector from /dev/sda2 at 4096
21:32:15.578427 vgcreate[40792] format_text/import.c:57  Reading metadata summary from /dev/sda2 at 105472 size 1848 (+0)
21:32:15.578452 vgcreate[40792] format_text/format-text.c:1575  Found metadata summary on /dev/sda2 at 105472 size 1848 for VG rhel_grant-01
21:32:15.578456 vgcreate[40792] cache/lvmcache.c:1926  lvmcache adding vginfo for rhel_grant-01 6UYN2s-wL1D-49Yv-j2Kz-T9Ot-RlRx-7cutWH
21:32:15.578462 vgcreate[40792] cache/lvmcache.c:2007  lvmcache /dev/sda2: now in VG rhel_grant-01 6UYN2swL1D49Yvj2KzT9OtRlRx7cutWH
21:32:15.578466 vgcreate[40792] cache/lvmcache.c:1847  lvmcache /dev/sda2: VG rhel_grant-01: set VGID to 6UYN2swL1D49Yvj2KzT9OtRlRx7cutWH.
21:32:15.578470 vgcreate[40792] cache/lvmcache.c:2203  lvmcache /dev/sda2 mda1 VG rhel_grant-01 set seqno 51 checksum e2b97bd5 mda_size 1848
21:32:15.578474 vgcreate[40792] cache/lvmcache.c:2041  lvmcache /dev/sda2: VG rhel_grant-01: set creation host to grant-01.6a2m.lab.eng.bos.redhat.com.
21:32:15.578480 vgcreate[40792] format_text/text_label.c:566  Found metadata seqno 51 in mda1 on /dev/sda2
21:32:15.578484 vgcreate[40792] label/label.c:714  Processing data from device /dev/nvme1n1p1 259:3 di 3
21:32:15.578488 vgcreate[40792] device/dev-io.c:96  /dev/nvme1n1p1: using cached size 6251233888 sectors
21:32:15.578519 vgcreate[40792] device/dev-io.c:96  /dev/nvme1n1p1: using cached size 6251233888 sectors
21:32:15.578523 vgcreate[40792] filters/filter-persistent.c:131  filter caching good /dev/nvme1n1p1
21:32:15.578528 vgcreate[40792] label/label.c:312  Found label at sector 1 on /dev/nvme1n1p1
21:32:15.578531 vgcreate[40792] cache/lvmcache.c:2484  Found PVID 3NDQHJIeezfxolOcaVdUlH4nZ5PAt41N on /dev/nvme1n1p1
21:32:15.578535 vgcreate[40792] cache/lvmcache.c:2007  lvmcache /dev/nvme1n1p1: now in VG #orphans_lvm2 #orphans_lvm2
21:32:15.578539 vgcreate[40792] format_text/text_label.c:538  Scanning /dev/nvme1n1p1 mda1 summary.
21:32:15.578542 vgcreate[40792] format_text/format-text.c:196  Reading mda header sector from /dev/nvme1n1p1 at 4096
21:32:15.578546 vgcreate[40792] format_text/format-text.c:1479  Metadata location on /dev/nvme1n1p1 at 4096 has offset 0.
21:32:15.578549 vgcreate[40792] label/label.c:714  Processing data from device /dev/sdc1 8:33 di 4
21:32:15.578553 vgcreate[40792] device/dev-io.c:96  /dev/sdc1: using cached size 937703008 sectors
21:32:15.578566 vgcreate[40792] device/dev-io.c:96  /dev/sdc1: using cached size 937703008 sectors
21:32:15.578570 vgcreate[40792] filters/filter-persistent.c:131  filter caching good /dev/sdc1
21:32:15.578576 vgcreate[40792] label/label.c:312  Found label at sector 1 on /dev/sdc1
21:32:15.578579 vgcreate[40792] cache/lvmcache.c:2484  Found PVID NowiNDLjVVqwmpriozSX55cxBtS9CjAZ on /dev/sdc1
21:32:15.578584 vgcreate[40792] cache/lvmcache.c:2007  lvmcache /dev/sdc1: now in VG #orphans_lvm2 #orphans_lvm2
21:32:15.578588 vgcreate[40792] format_text/text_label.c:538  Scanning /dev/sdc1 mda1 summary.
21:32:15.578592 vgcreate[40792] format_text/format-text.c:196  Reading mda header sector from /dev/sdc1 at 4096
21:32:15.578597 vgcreate[40792] format_text/format-text.c:1479  Metadata location on /dev/sdc1 at 4096 has offset 0.
21:32:15.578601 vgcreate[40792] label/label.c:714  Processing data from device /dev/sdd1 8:49 di 5
21:32:15.578604 vgcreate[40792] device/dev-io.c:96  /dev/sdd1: using cached size 937699328 sectors
21:32:15.578618 vgcreate[40792] device/dev-io.c:96  /dev/sdd1: using cached size 937699328 sectors
21:32:15.578622 vgcreate[40792] filters/filter-persistent.c:131  filter caching good /dev/sdd1
21:32:15.578626 vgcreate[40792] label/label.c:312  Found label at sector 1 on /dev/sdd1
21:32:15.578629 vgcreate[40792] cache/lvmcache.c:2484  Found PVID 3gin4w2Q5crQSOAxoaVBSYhokMLh1qj3 on /dev/sdd1
21:32:15.578633 vgcreate[40792] cache/lvmcache.c:2007  lvmcache /dev/sdd1: now in VG #orphans_lvm2 #orphans_lvm2
21:32:15.578638 vgcreate[40792] format_text/text_label.c:538  Scanning /dev/sdd1 mda1 summary.
21:32:15.578642 vgcreate[40792] format_text/format-text.c:196  Reading mda header sector from /dev/sdd1 at 4096
21:32:15.578646 vgcreate[40792] format_text/format-text.c:1479  Metadata location on /dev/sdd1 at 4096 has offset 0.
21:32:15.578650 vgcreate[40792] label/label.c:714  Processing data from device /dev/sde1 8:65 di 6
21:32:15.578653 vgcreate[40792] device/dev-io.c:96  /dev/sde1: using cached size 937703008 sectors
21:32:15.578667 vgcreate[40792] device/dev-io.c:96  /dev/sde1: using cached size 937703008 sectors
21:32:15.578671 vgcreate[40792] filters/filter-persistent.c:131  filter caching good /dev/sde1
21:32:15.578675 vgcreate[40792] label/label.c:312  Found label at sector 1 on /dev/sde1
21:32:15.578678 vgcreate[40792] cache/lvmcache.c:2484  Found PVID wWJ7KAKLBfZQ8LVJ2XzyBs0zqkqdeayC on /dev/sde1
21:32:15.578682 vgcreate[40792] cache/lvmcache.c:2007  lvmcache /dev/sde1: now in VG #orphans_lvm2 #orphans_lvm2
21:32:15.578686 vgcreate[40792] format_text/text_label.c:538  Scanning /dev/sde1 mda1 summary.
21:32:15.578689 vgcreate[40792] format_text/format-text.c:196  Reading mda header sector from /dev/sde1 at 4096
21:32:15.578693 vgcreate[40792] format_text/format-text.c:1479  Metadata location on /dev/sde1 at 4096 has offset 0.
21:32:15.578696 vgcreate[40792] label/label.c:749  Scanned devices: read errors 0 process errors 0 failed 0
21:32:15.578701 vgcreate[40792] device/device_id.c:2195  validating devices file entries
21:32:15.578705 vgcreate[40792] filters/filter-persistent.c:106  /dev/sda1: filter cache using (cached good)
21:32:15.578708 vgcreate[40792] filters/filter-persistent.c:106  /dev/sda2: filter cache using (cached good)
21:32:15.578711 vgcreate[40792] filters/filter-persistent.c:106  /dev/sdd1: filter cache using (cached good)
21:32:15.578714 vgcreate[40792] filters/filter-persistent.c:106  /dev/nvme0n1p1: filter cache using (cached good)
21:32:15.578718 vgcreate[40792] filters/filter-persistent.c:106  /dev/nvme1n1p1: filter cache using (cached good)
21:32:15.578721 vgcreate[40792] filters/filter-persistent.c:106  /dev/sdc1: filter cache using (cached good)
21:32:15.578725 vgcreate[40792] filters/filter-persistent.c:106  /dev/sde1: filter cache using (cached good)
21:32:15.578728 vgcreate[40792] device/device_id.c:2465  device ids validate checked 7 found no update is needed.
21:32:15.578734 vgcreate[40792] cache/lvmcache.c:1696  lvmcache label scan done
21:32:15.578739 vgcreate[40792] device_mapper/libdm-config.c:986  report/output_format not found in config: defaulting to "basic"
21:32:15.578744 vgcreate[40792] device_mapper/libdm-config.c:1085  log/report_command_log not found in config: defaulting to 0
21:32:15.578757 vgcreate[40792] toollib.c:5506  Scanning and filtering device args (5).
21:32:15.578762 vgcreate[40792] label/label.c:641  Scanning 5 devices for VG info
21:32:15.578820 vgcreate[40792] label/label.c:569  open /dev/sde ro di 1 fd 8
21:32:15.578971 vgcreate[40792] label/label.c:680  Scanning submitted 5 reads
21:32:15.579233 vgcreate[40792] label/label.c:714  Processing data from device /dev/nvme0n1p1 259:1 di 0
21:32:15.579237 vgcreate[40792] device/dev-io.c:96  /dev/nvme0n1p1: using cached size 6251233888 sectors
21:32:15.579270 vgcreate[40792] device/dev-io.c:96  /dev/nvme0n1p1: using cached size 6251233888 sectors
21:32:15.579571 vgcreate[40792] filters/filter-persistent.c:131  filter caching good /dev/nvme0n1p1
21:32:15.579576 vgcreate[40792] label/label.c:312  Found label at sector 1 on /dev/nvme0n1p1
21:32:15.579579 vgcreate[40792] cache/lvmcache.c:2484  Found PVID CyceduCkGQDUqdk1SxkyxA5vwBmxR2CY on /dev/nvme0n1p1
21:32:15.579583 vgcreate[40792] format_text/text_label.c:538  Scanning /dev/nvme0n1p1 mda1 summary.
21:32:15.579586 vgcreate[40792] format_text/format-text.c:196  Reading mda header sector from /dev/nvme0n1p1 at 4096
21:32:15.579590 vgcreate[40792] format_text/format-text.c:1479  Metadata location on /dev/nvme0n1p1 at 4096 has offset 0.
21:32:15.579593 vgcreate[40792] label/label.c:714  Processing data from device /dev/sde 8:64 di 1
21:32:15.579599 vgcreate[40792] device/dev-io.c:120  /dev/sde: size is 937703088 sectors
21:32:15.579612 vgcreate[40792] filters/filter-partitioned.c:35  /dev/sde: Skipping: Partition table signature found
21:32:15.579617 vgcreate[40792] label/label.c:382  <backtrace>
21:32:15.579622 vgcreate[40792] label/label.c:714  Processing data from device /dev/nvme1n1p1 259:3 di 3
21:32:15.579625 vgcreate[40792] device/dev-io.c:96  /dev/nvme1n1p1: using cached size 6251233888 sectors
21:32:15.579654 vgcreate[40792] device/dev-io.c:96  /dev/nvme1n1p1: using cached size 6251233888 sectors
21:32:15.579887 vgcreate[40792] filters/filter-persistent.c:131  filter caching good /dev/nvme1n1p1
21:32:15.579892 vgcreate[40792] label/label.c:312  Found label at sector 1 on /dev/nvme1n1p1
21:32:15.579896 vgcreate[40792] cache/lvmcache.c:2484  Found PVID 3NDQHJIeezfxolOcaVdUlH4nZ5PAt41N on /dev/nvme1n1p1
21:32:15.579900 vgcreate[40792] format_text/text_label.c:538  Scanning /dev/nvme1n1p1 mda1 summary.
21:32:15.579904 vgcreate[40792] format_text/format-text.c:196  Reading mda header sector from /dev/nvme1n1p1 at 4096
21:32:15.579909 vgcreate[40792] format_text/format-text.c:1479  Metadata location on /dev/nvme1n1p1 at 4096 has offset 0.
21:32:15.579912 vgcreate[40792] label/label.c:714  Processing data from device /dev/sdc1 8:33 di 4
21:32:15.579916 vgcreate[40792] device/dev-io.c:96  /dev/sdc1: using cached size 937703008 sectors
21:32:15.579931 vgcreate[40792] device/dev-io.c:96  /dev/sdc1: using cached size 937703008 sectors
21:32:15.580805 vgcreate[40792] filters/filter-persistent.c:131  filter caching good /dev/sdc1
21:32:15.580811 vgcreate[40792] label/label.c:312  Found label at sector 1 on /dev/sdc1
21:32:15.580814 vgcreate[40792] cache/lvmcache.c:2484  Found PVID NowiNDLjVVqwmpriozSX55cxBtS9CjAZ on /dev/sdc1
21:32:15.580818 vgcreate[40792] format_text/text_label.c:538  Scanning /dev/sdc1 mda1 summary.
21:32:15.580822 vgcreate[40792] format_text/format-text.c:196  Reading mda header sector from /dev/sdc1 at 4096
21:32:15.580827 vgcreate[40792] format_text/format-text.c:1479  Metadata location on /dev/sdc1 at 4096 has offset 0.

[DEADLOCK}
^C

21:32:26.856000 vgcreate[40792] label/label.c:687  Scan failed to read /dev/sde.
21:32:26.856008 vgcreate[40792] label/label.c:579  scan_dev_close /dev/sde no DEV_IN_BCACHE set
21:32:26.856011 vgcreate[40792] label/label.c:586  scan_dev_close /dev/sde already closed
21:32:26.856015 vgcreate[40792] label/label.c:749  Scanned devices: read errors 1 process errors 0 failed 1
21:32:26.856019 vgcreate[40792] filters/filter-persistent.c:106  /dev/nvme0n1p1: filter cache using (cached good)
21:32:26.856023 vgcreate[40792] filters/filter-persistent.c:100  /dev/sde: filter cache skipping (cached bad)
21:32:26.856028 vgcreate[40792] toollib.c:5514  Cannot use /dev/sde: device is partitioned
21:32:26.856031 vgcreate[40792] filters/filter-persistent.c:106  /dev/nvme1n1p1: filter cache using (cached good)
21:32:26.856034 vgcreate[40792] filters/filter-persistent.c:106  /dev/sdc1: filter cache using (cached good)
21:32:26.856038 vgcreate[40792] filters/filter-persistent.c:100  /dev/sde: filter cache skipping (cached bad)
21:32:26.856042 vgcreate[40792] toollib.c:5514  Cannot use /dev/sde: device is partitioned
21:32:26.856046 vgcreate[40792] toollib.c:5525  Command requires all devices to be found.
21:32:26.856050 vgcreate[40792] vgcreate.c:105  <backtrace>
21:32:26.856053 vgcreate[40792] misc/lvm-flock.c:84  Unlocking /run/lock/lvm/P_global
21:32:26.856057 vgcreate[40792] misc/lvm-flock.c:47  _undo_flock /run/lock/lvm/P_global
21:32:26.856069 vgcreate[40792] misc/lvm-flock.c:84  Unlocking /run/lock/lvm/V_foo
21:32:26.856074 vgcreate[40792] misc/lvm-flock.c:47  _undo_flock /run/lock/lvm/V_foo
21:32:26.856081 vgcreate[40792] device_mapper/libdm-config.c:1085  global/notify_dbus not found in config: defaulting to 1
21:32:26.856189 vgcreate[40792] notify/lvmnotify.c:122  Nofify dbus at com.redhat.lvmdbus1.
21:32:26.856496 vgcreate[40792] cache/lvmcache.c:2610  Destroy lvmcache content
21:32:26.884191 vgcreate[40792] lvmcmdline.c:3352  Completed: vgcreate -vvvv foo /dev/nvme0n1p1 /dev/sde /dev/nvme1n1p1 /dev/sdc1 /dev/sde
21:32:26.884573 vgcreate[40792] cache/lvmcache.c:2610  Destroy lvmcache content
21:32:26.884592 vgcreate[40792] metadata/vg.c:80  Freeing VG #orphans_lvm2 at 0x5601a50145e0.
21:32:26.884672 vgcreate[40792] activate/fs.c:493  Syncing device names


Note You need to log in before you can comment on or make changes to this bug.