diff options
author | Alasdair Kergon <agk@redhat.com> | 2009-09-14 22:47:49 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2009-09-14 22:47:49 +0000 |
commit | 651ff9b32865373f9f6298fbe7b0ea5419da3746 (patch) | |
tree | 898c9215fdb07ca76b616f29cbcd45d3cbd74d21 /tools/lvchange.c | |
parent | 905240f91da66571da073df8784f1f42b2888328 (diff) | |
download | lvm2-651ff9b32865373f9f6298fbe7b0ea5419da3746.tar.gz lvm2-651ff9b32865373f9f6298fbe7b0ea5419da3746.tar.xz lvm2-651ff9b32865373f9f6298fbe7b0ea5419da3746.zip |
Add lots of missing stack debug messages to tools.
Make readonly locking available as locking type 4.
Fix readonly locking to permit writeable global locks (for vgscan). (2.02.49)
Diffstat (limited to 'tools/lvchange.c')
-rw-r--r-- | tools/lvchange.c | 48 |
1 files changed, 36 insertions, 12 deletions
diff --git a/tools/lvchange.c b/tools/lvchange.c index b16fd14a..b9be0c2a 100644 --- a/tools/lvchange.c +++ b/tools/lvchange.c @@ -591,8 +591,10 @@ static int lvchange_single(struct cmd_context *cmd, struct logical_volume *lv, /* access permission change */ if (arg_count(cmd, permission_ARG)) { - if (!archive(lv->vg)) + if (!archive(lv->vg)) { + stack; return ECMD_FAILED; + } archived = 1; doit += lvchange_permission(cmd, lv); docmds++; @@ -600,8 +602,10 @@ static int lvchange_single(struct cmd_context *cmd, struct logical_volume *lv, /* allocation policy change */ if (arg_count(cmd, contiguous_ARG) || arg_count(cmd, alloc_ARG)) { - if (!archived && !archive(lv->vg)) + if (!archived && !archive(lv->vg)) { + stack; return ECMD_FAILED; + } archived = 1; doit += lvchange_alloc(cmd, lv); docmds++; @@ -609,8 +613,10 @@ static int lvchange_single(struct cmd_context *cmd, struct logical_volume *lv, /* read ahead sector change */ if (arg_count(cmd, readahead_ARG)) { - if (!archived && !archive(lv->vg)) + if (!archived && !archive(lv->vg)) { + stack; return ECMD_FAILED; + } archived = 1; doit += lvchange_readahead(cmd, lv); docmds++; @@ -618,19 +624,25 @@ static int lvchange_single(struct cmd_context *cmd, struct logical_volume *lv, /* read ahead sector change */ if (arg_count(cmd, persistent_ARG)) { - if (!archived && !archive(lv->vg)) + if (!archived && !archive(lv->vg)) { + stack; return ECMD_FAILED; + } archived = 1; doit += lvchange_persistent(cmd, lv); docmds++; - if (sigint_caught()) + if (sigint_caught()) { + stack; return ECMD_FAILED; + } } /* add tag */ if (arg_count(cmd, addtag_ARG)) { - if (!archived && !archive(lv->vg)) + if (!archived && !archive(lv->vg)) { + stack; return ECMD_FAILED; + } archived = 1; doit += lvchange_tag(cmd, lv, addtag_ARG); docmds++; @@ -638,8 +650,10 @@ static int lvchange_single(struct cmd_context *cmd, struct logical_volume *lv, /* del tag */ if (arg_count(cmd, deltag_ARG)) { - if (!archived && !archive(lv->vg)) + if (!archived && !archive(lv->vg)) { + stack; return ECMD_FAILED; + } archived = 1; doit += lvchange_tag(cmd, lv, deltag_ARG); docmds++; @@ -649,28 +663,38 @@ static int lvchange_single(struct cmd_context *cmd, struct logical_volume *lv, log_print("Logical volume \"%s\" changed", lv->name); if (arg_count(cmd, resync_ARG)) - if (!lvchange_resync(cmd, lv)) + if (!lvchange_resync(cmd, lv)) { + stack; return ECMD_FAILED; + } /* availability change */ if (arg_count(cmd, available_ARG)) { - if (!lvchange_availability(cmd, lv)) + if (!lvchange_availability(cmd, lv)) { + stack; return ECMD_FAILED; + } } if (arg_count(cmd, refresh_ARG)) - if (!lvchange_refresh(cmd, lv)) + if (!lvchange_refresh(cmd, lv)) { + stack; return ECMD_FAILED; + } if (!arg_count(cmd, available_ARG) && !arg_count(cmd, refresh_ARG) && arg_count(cmd, monitor_ARG)) { - if (!lvchange_monitoring(cmd, lv)) + if (!lvchange_monitoring(cmd, lv)) { + stack; return ECMD_FAILED; + } } - if (doit != docmds) + if (doit != docmds) { + stack; return ECMD_FAILED; + } return ECMD_PROCESSED; } |