summaryrefslogtreecommitdiffstats
path: root/tools/vgremove.c
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2002-02-11 15:42:34 +0000
committerAlasdair Kergon <agk@redhat.com>2002-02-11 15:42:34 +0000
commit7d0e6e800e41fd13a5dc51ef05de8298b30b7432 (patch)
tree51be3b97d6a751fed2fc643ce52dac6ad91f50ec /tools/vgremove.c
parent713599407cc26d5e60889e828b923ed06f156ca0 (diff)
downloadlvm2-7d0e6e800e41fd13a5dc51ef05de8298b30b7432.tar.gz
lvm2-7d0e6e800e41fd13a5dc51ef05de8298b30b7432.tar.xz
lvm2-7d0e6e800e41fd13a5dc51ef05de8298b30b7432.zip
o Support locking with local lock files
o Disable control-c during updates (except if blocked waiting for a lock)
Diffstat (limited to 'tools/vgremove.c')
-rw-r--r--tools/vgremove.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/vgremove.c b/tools/vgremove.c
index cd5d0400..2d29a4d9 100644
--- a/tools/vgremove.c
+++ b/tools/vgremove.c
@@ -24,7 +24,19 @@ static int vgremove_single(const char *vg_name);
int vgremove(int argc, char **argv)
{
- return process_each_vg(argc, argv, &vgremove_single);
+ int ret;
+
+ if (!lock_vol("", LCK_VG | LCK_WRITE)) {
+ log_error("Can't get lock for orphan PVs");
+ return ECMD_FAILED;
+ }
+
+ ret = process_each_vg(argc, argv, LCK_WRITE | LCK_NONBLOCK,
+ &vgremove_single);
+
+ lock_vol("", LCK_VG | LCK_NONE);
+
+ return ret;
}
static int vgremove_single(const char *vg_name)