Bug 491902

Summary: vgcfgrestore can segfault if some PV is missing
Product: Red Hat Enterprise Linux 4 Reporter: Milan Broz <mbroz>
Component: lvm2Assignee: Milan Broz <mbroz>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: medium Docs Contact:
Priority: low    
Version: 4.8CC: agk, cmarthal, dwysocha, edamato, heinzm, jbrassow, mbroz, prockai, pvrabec
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 494414 (view as bug list) Environment:
Last Closed: 2009-05-18 20:11:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 494414    

Description Milan Broz 2009-03-24 15:48:32 UTC
Description of problem:

]# pvcreate /dev/sd[bc]
  Physical volume "/dev/sdb" successfully created
  Physical volume "/dev/sdc" successfully created
# vgcreate vg_test /dev/sd[bc]
  Volume group "vg_test" successfully created
# vgcfgbackup -f vg_test vg_test
  Volume group "vg_test" successfully backed up.

now some PV is lost...

# pvremove -ff /dev/sdb
...
  Labels on physical volume "/dev/sdb" successfully wiped

# vgcfgrestore -f vg_test vg_test
  Couldn't find device with uuid 'jYyR3Q-G601-hQYa-XLuB-z3Bb-nP1s-Bx8dYd'.
Segmentation fault

Version-Release number of selected component (if applicable):
# rpm -q lvm2
lvm2-2.02.42-4.el4


One liner patch already upstream.

Comment 2 Milan Broz 2009-03-24 21:20:12 UTC
Fixed in lvm2-2.02.42-5.el4

Comment 5 Corey Marthaler 2009-04-03 19:55:55 UTC
Fix has been verified in lvm2-2.02.42-5.el4 to no longer segfault, the restore will still fail however which I assume is expected. I'll add this test case to our regression testing.


[root@hayes-01 ~]# pvcreate /dev/etherd/e1.1p1  /dev/etherd/e1.1p2
  Physical volume "/dev/etherd/e1.1p1" successfully created
  Physical volume "/dev/etherd/e1.1p2" successfully created

[root@hayes-01 ~]# vgcreate vg_test /dev/etherd/e1.1p[12]
  Clustered volume group "vg_test" successfully created

[root@hayes-01 ~]# vgcfgbackup -f vg_test vg_test
  Volume group "vg_test" successfully backed up.

[root@hayes-01 ~]# pvremove -ff /dev/etherd/e1.1p2
Really WIPE LABELS from physical volume "/dev/etherd/e1.1p2" of volume group "vg_test" [y/n]? y
  WARNING: Wiping physical volume label from /dev/etherd/e1.1p2 of volume group "vg_test"
  Labels on physical volume "/dev/etherd/e1.1p2" successfully wiped

[root@hayes-01 ~]# pvscan
  Couldn't find device with uuid 'TC3zOa-SjT2-CKSH-ZlAN-B4qv-UbZW-HWDEPZ'.
  PV /dev/sda2            VG VolGroup00   lvm2 [74.38 GB / 0    free]
  PV /dev/etherd/e1.1p1   VG vg_test      lvm2 [1.77 TB / 1.77 TB free]
  PV unknown device       VG vg_test      lvm2 [1.77 TB / 1.77 TB free]
  Total: 3 [3.62 TB] / in use: 3 [3.62 TB] / in no VG: 0 [0   ]

[root@hayes-01 ~]# vgcfgrestore -f vg_test vg_test
  Couldn't find device with uuid 'TC3zOa-SjT2-CKSH-ZlAN-B4qv-UbZW-HWDEPZ'.
  Restore failed.

Comment 7 errata-xmlrpc 2009-05-18 20:11:04 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-0967.html