diff options
author | Bryn M. Reeves <breeves@redhat.com> | 2007-11-02 14:54:40 +0000 |
---|---|---|
committer | Bryn M. Reeves <breeves@redhat.com> | 2007-11-02 14:54:40 +0000 |
commit | 9c1dbeb3f18b34de8199e4a31d2465dd3b9624f4 (patch) | |
tree | 2c630cc2b6934afad98e25f5e8b4d7f441ec2827 /tools/pvchange.c | |
parent | 8b98c12815d53ea182cfc8f36b28bb4a111e18f1 (diff) | |
download | lvm2-9c1dbeb3f18b34de8199e4a31d2465dd3b9624f4.tar.gz lvm2-9c1dbeb3f18b34de8199e4a31d2465dd3b9624f4.tar.xz lvm2-9c1dbeb3f18b34de8199e4a31d2465dd3b9624f4.zip |
Convert pvchange, pvdisplay, pvscan to use is_orphan()
Diffstat (limited to 'tools/pvchange.c')
-rw-r--r-- | tools/pvchange.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/tools/pvchange.c b/tools/pvchange.c index 007f6a7d..9fc47b03 100644 --- a/tools/pvchange.c +++ b/tools/pvchange.c @@ -51,7 +51,8 @@ static int _pvchange_single(struct cmd_context *cmd, struct physical_volume *pv, } /* If in a VG, must change using volume group. */ - if (*pv_vg_name(pv)) { + /* FIXME: handle PVs with no MDAs */ + if (!is_orphan(pv)) { log_verbose("Finding volume group of physical volume \"%s\"", pv_name); @@ -115,7 +116,7 @@ static int _pvchange_single(struct cmd_context *cmd, struct physical_volume *pv, } if (arg_count(cmd, allocatable_ARG)) { - if (!*pv_vg_name(pv) && + if (is_orphan(pv) && !(pv->fmt->features & FMT_ORPHAN_ALLOCATABLE)) { log_error("Allocatability not supported by orphan " "%s format PV %s", pv->fmt->name, pv_name); @@ -127,7 +128,7 @@ static int _pvchange_single(struct cmd_context *cmd, struct physical_volume *pv, if (allocatable && (pv_status(pv) & ALLOCATABLE_PV)) { log_error("Physical volume \"%s\" is already " "allocatable", pv_name); - if (*pv_vg_name(pv)) + if (!is_orphan(pv)) unlock_vg(cmd, pv_vg_name(pv)); else unlock_vg(cmd, ORPHAN); @@ -137,7 +138,7 @@ static int _pvchange_single(struct cmd_context *cmd, struct physical_volume *pv, if (!allocatable && !(pv_status(pv) & ALLOCATABLE_PV)) { log_error("Physical volume \"%s\" is already " "unallocatable", pv_name); - if (*pv_vg_name(pv)) + if (!is_orphan(pv)) unlock_vg(cmd, pv_vg_name(pv)); else unlock_vg(cmd, ORPHAN); @@ -180,7 +181,7 @@ static int _pvchange_single(struct cmd_context *cmd, struct physical_volume *pv, return 0; } log_verbose("Changing uuid of %s to %s.", pv_name, uuid); - if (*pv_vg_name(pv)) { + if (!is_orphan(pv)) { orig_vg_name = pv_vg_name(pv); orig_pe_alloc_count = pv_pe_alloc_count(pv); pv->vg_name = ORPHAN; @@ -196,7 +197,7 @@ static int _pvchange_single(struct cmd_context *cmd, struct physical_volume *pv, } log_verbose("Updating physical volume \"%s\"", pv_name); - if (*pv_vg_name(pv)) { + if (!is_orphan(pv)) { if (!vg_write(vg) || !vg_commit(vg)) { unlock_vg(cmd, pv_vg_name(pv)); log_error("Failed to store physical volume \"%s\" in " |