diff options
author | Alasdair Kergon <agk@redhat.com> | 2002-02-11 15:42:34 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2002-02-11 15:42:34 +0000 |
commit | 7d0e6e800e41fd13a5dc51ef05de8298b30b7432 (patch) | |
tree | 51be3b97d6a751fed2fc643ce52dac6ad91f50ec /tools/vgremove.c | |
parent | 713599407cc26d5e60889e828b923ed06f156ca0 (diff) | |
download | lvm2-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.c | 14 |
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) |