diff options
author | David Teigland <teigland@redhat.com> | 2020-10-26 15:35:23 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2020-10-26 15:48:58 -0500 |
commit | 020d1edaa06e5e05b58e8d39530408f86a22d1b8 (patch) | |
tree | 0ab2fc61e8bd9ad717c4811a7fe029a76e671132 /lib/activate | |
parent | 830c20d33cc8253c397e927291d51c249c2c0eb3 (diff) | |
download | lvm2-020d1edaa06e5e05b58e8d39530408f86a22d1b8.tar.gz |
writecache: disallow partial or degraded activation
when either main or fast lvs are incomplete
Diffstat (limited to 'lib/activate')
-rw-r--r-- | lib/activate/activate.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/activate/activate.c b/lib/activate/activate.c index 311d33a52..7ed644113 100644 --- a/lib/activate/activate.c +++ b/lib/activate/activate.c @@ -2530,6 +2530,14 @@ static int _lv_activate(struct cmd_context *cmd, const char *lvid_s, } } + if ((cmd->partial_activation || cmd->degraded_activation) && lv_is_writecache(lv)) { + struct logical_volume *lv_fast = first_seg(lv)->writecache; + if (lv_is_partial(lv) || (lv_fast && lv_is_partial(lv_fast))) { + log_error("Cannot use partial or degraded activation with writecache."); + goto out; + } + } + if (lv_has_unknown_segments(lv)) { log_error("Refusing activation of LV %s containing " "an unrecognised segment.", display_lvname(lv)); |