summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2016-04-26 22:04:19 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2016-04-26 23:29:58 +0200
commite77b6968b6b420a4d0d9f14af1386f28761f055b (patch)
tree852c2d6a4e1d673d589bd38e5d9a10cf0599f4a0
parentc215e1be5ce35177a0491c0d6495865efbe34b51 (diff)
downloadlvm2-e77b6968b6b420a4d0d9f14af1386f28761f055b.tar.gz
lvchange: use better arg functions
-rw-r--r--tools/lvchange.c77
1 files changed, 46 insertions, 31 deletions
diff --git a/tools/lvchange.c b/tools/lvchange.c
index 6a6a6197b..83da6bcec 100644
--- a/tools/lvchange.c
+++ b/tools/lvchange.c
@@ -911,21 +911,32 @@ static int _lvchange_single(struct cmd_context *cmd, struct logical_volume *lv,
return_ECMD_FAILED;
if (!(lv->vg->status & LVM_WRITE) &&
- (arg_count(cmd, contiguous_ARG) || arg_count(cmd, permission_ARG) ||
- arg_count(cmd, readahead_ARG) || arg_count(cmd, persistent_ARG) ||
- arg_count(cmd, discards_ARG) || arg_count(cmd, zero_ARG) ||
- arg_count(cmd, alloc_ARG) || arg_count(cmd, profile_ARG) ||
- arg_count(cmd, metadataprofile_ARG))) {
+ arg_from_list_is_set(cmd, NULL,
+ alloc_ARG,
+ contiguous_ARG,
+ discards_ARG,
+ metadataprofile_ARG,
+ permission_ARG,
+ persistent_ARG,
+ profile_ARG,
+ readahead_ARG,
+ zero_ARG,
+ -1)) {
log_error("Only -a permitted with read-only volume "
"group \"%s\"", lv->vg->name);
return ECMD_FAILED;
}
if (lv_is_origin(lv) && !lv_is_thin_volume(lv) &&
- (arg_count(cmd, contiguous_ARG) || arg_count(cmd, permission_ARG) ||
- arg_count(cmd, readahead_ARG) || arg_count(cmd, persistent_ARG) ||
- arg_count(cmd, alloc_ARG) || arg_count(cmd, profile_ARG) ||
- arg_count(cmd, metadataprofile_ARG))) {
+ arg_from_list_is_set(cmd, NULL,
+ alloc_ARG,
+ contiguous_ARG,
+ metadataprofile_ARG,
+ permission_ARG,
+ persistent_ARG,
+ profile_ARG,
+ readahead_ARG,
+ -1)) {
log_error("Can't change logical volume \"%s\" under snapshot",
lv->name);
return ECMD_FAILED;
@@ -1173,29 +1184,33 @@ int lvchange(struct cmd_context *cmd, int argc, char **argv)
* --monitor or --poll).
*/
int update_partial_safe = /* options safe to update if partial */
- arg_count(cmd, contiguous_ARG) ||
- arg_count(cmd, permission_ARG) ||
- arg_count(cmd, readahead_ARG) ||
- arg_count(cmd, persistent_ARG) ||
- arg_count(cmd, addtag_ARG) ||
- arg_count(cmd, deltag_ARG) ||
- arg_count(cmd, metadataprofile_ARG) ||
- arg_count(cmd, profile_ARG) ||
- arg_count(cmd, detachprofile_ARG) ||
- arg_count(cmd, setactivationskip_ARG);
+ arg_from_list_is_set(cmd, NULL,
+ addtag_ARG,
+ contiguous_ARG,
+ deltag_ARG,
+ detachprofile_ARG,
+ metadataprofile_ARG,
+ permission_ARG,
+ persistent_ARG,
+ profile_ARG,
+ readahead_ARG,
+ setactivationskip_ARG,
+ -1);
int update_partial_unsafe =
- arg_count(cmd, alloc_ARG) ||
- arg_count(cmd, discards_ARG) ||
- arg_count(cmd, errorwhenfull_ARG) ||
- arg_count(cmd, minrecoveryrate_ARG) ||
- arg_count(cmd, maxrecoveryrate_ARG) ||
- arg_count(cmd, resync_ARG) ||
- arg_count(cmd, syncaction_ARG) ||
- arg_count(cmd, cachepolicy_ARG) ||
- arg_count(cmd, cachesettings_ARG) ||
- arg_count(cmd, writebehind_ARG) ||
- arg_count(cmd, writemostly_ARG) ||
- arg_count(cmd, zero_ARG);
+ arg_from_list_is_set(cmd, NULL,
+ alloc_ARG,
+ cachepolicy_ARG,
+ cachesettings_ARG,
+ discards_ARG,
+ errorwhenfull_ARG,
+ maxrecoveryrate_ARG,
+ minrecoveryrate_ARG,
+ resync_ARG,
+ syncaction_ARG,
+ writebehind_ARG,
+ writemostly_ARG,
+ zero_ARG,
+ -1);
int update = update_partial_safe || update_partial_unsafe;
if (!update &&