summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2016-04-06 10:29:57 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2016-04-06 11:31:02 +0200
commit5b2227c2c10c2f762e238fedb756850fe4ac5d5d (patch)
tree5d2e2110292cf91c22b34dd1bc9ebdbb58cbe6dd
parent7c1937f8df1e843d00b9d5814c756234381ca0d1 (diff)
downloadlvm2-5b2227c2c10c2f762e238fedb756850fe4ac5d5d.tar.gz
preload: preserve flushing state
When leaving preload routine it should not altet state of flush required when it's been already set to 1 and drop it to 0. The API here is unclean, but current usage expects the same variable pointer is for all preload calls and combines 'flush_required' across all of them.
-rw-r--r--lib/activate/dev_manager.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index 994ba809d..b3e97db55 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -3093,6 +3093,8 @@ int dev_manager_activate(struct dev_manager *dm, const struct logical_volume *lv
int dev_manager_preload(struct dev_manager *dm, const struct logical_volume *lv,
struct lv_activate_opts *laopts, int *flush_required)
{
+ dm->flush_required = *flush_required;
+
if (!_tree_action(dm, lv, laopts, PRELOAD))
return_0;