1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-28 03:27:58 +03:00
lvm2/tools
Peter Rajnoha 52999133a3 pv: check for the PV_EXT_USED flag and deny pvcreate/pvchange/pvremove/vgcreate on such PV (unless forced)
Make sure we won't use a PV that is already marked as used. Normally,
VG metadata would stop us from doing that, but we can run into a
situation where such metadata is missing because PVs with MDAs
are missing and the PVs left are the ones with 0 MDAs.

(/dev/sda in this example has 0 MDAs and it belongs to a VG,
but other PVs with MDA are missing)

$ pvs -o pv_name,pv_mda_count /dev/sda
  PV         #PMda
  /dev/sda       0

$ pvcreate /dev/sda
  PV '/dev/sda' is marked as belonging to a VG but its metadata is missing.
  Can't initialize PV '/dev/sda' without -ff.

$ pvchange -u /dev/sda
  PV '/dev/sda' is marked as belonging to a VG but its metadata is missing.
  Can't change PV '/dev/sda' without -ff.
  Physical volume /dev/sda not changed
  0 physical volumes changed / 1 physical volume not changed

$ pvremove /dev/sda
  PV '/dev/sda' is marked as belonging to a VG but its metadata is missing.
  (If you are certain you need pvremove, then confirm by using --force twice.)

$ vgcreate vg /dev/sda
  Physical volume '/dev/sda' is marked as belonging to a VG but its metadata is missing.
  Unable to add physical volume '/dev/sda' to volume group 'vg'.
2016-02-15 12:44:46 +01:00
..
.exported_symbols
.gitignore
args.h
cmdnames.h
commands.h
dmsetup.c
dumpconfig.c
errors.h
formats.c
lvchange.c
lvconvert_poll.c
lvconvert_poll.h
lvconvert.c
lvcreate.c
lvdisplay.c
lvextend.c
lvm2cmd-static.c
lvm2cmd.c
lvm2cmd.h
lvm2cmdline.h
lvm-static.c
lvm.c
lvmchange.c
lvmcmdlib.c
lvmcmdline.c
lvmdiskscan.c
lvpoll.c
lvreduce.c
lvremove.c
lvrename.c
lvresize.c
lvscan.c
Makefile.in
polldaemon.c
pvchange.c pv: check for the PV_EXT_USED flag and deny pvcreate/pvchange/pvremove/vgcreate on such PV (unless forced) 2016-02-15 12:44:46 +01:00
pvck.c
pvcreate.c
pvdisplay.c
pvmove_poll.c
pvmove_poll.h
pvmove.c
pvremove.c
pvresize.c
pvscan.c
reporter.c doc: change fsf address 2016-01-21 12:11:37 +01:00
segtypes.c
stub.h
tags.c
tool.h
toollib.c
toollib.h
tools.h
vgcfgbackup.c
vgcfgrestore.c
vgchange.c
vgck.c
vgconvert.c
vgcreate.c
vgdisplay.c
vgexport.c
vgextend.c doc: change fsf address 2016-01-21 12:11:37 +01:00
vgimport.c
vgmerge.c
vgmknodes.c
vgreduce.c
vgremove.c
vgrename.c
vgscan.c
vgsplit.c