mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-10 16:58:47 +03:00
suspend: fix suspend with noflush limitation
Commit 844b00958492224c448b30f89ae5532bb6591fd2 tried to move limit for usage of noflush to 'preload' however this was not correctly processed. Intead explicitly check for which types we do not want noflush and also add debug message in this case.
This commit is contained in:
parent
d4c03cf7b2
commit
7c1937f8df
@ -1933,6 +1933,16 @@ static int _lv_suspend(struct cmd_context *cmd, const char *lvid_s,
|
||||
}
|
||||
}
|
||||
|
||||
/* Flush is ATM required for the tested cases
|
||||
* NOTE: Mirror repair requires noflush for proper repair!
|
||||
* TODO: Relax this limiting condition further */
|
||||
if (!flush_required &&
|
||||
(lv_is_pvmove(lv) ||
|
||||
(!lv_is_mirror(lv) && !lv_is_thin_pool(lv) && !lv_is_thin_volume(lv)))) {
|
||||
log_debug("Requiring flush for LV %s.", display_lvname(lv));
|
||||
flush_required = 1;
|
||||
}
|
||||
|
||||
if (!monitor_dev_for_events(cmd, lv, laopts, 0))
|
||||
/* FIXME Consider aborting here */
|
||||
stack;
|
||||
|
@ -3023,7 +3023,7 @@ static int _tree_action(struct dev_manager *dm, const struct logical_volume *lv,
|
||||
break;
|
||||
case SUSPEND:
|
||||
dm_tree_skip_lockfs(root);
|
||||
if (!dm->flush_required && !lv_is_pvmove(lv))
|
||||
if (!dm->flush_required)
|
||||
dm_tree_use_no_flush_suspend(root);
|
||||
/* Fall through */
|
||||
case SUSPEND_WITH_LOCKFS:
|
||||
|
Loading…
x
Reference in New Issue
Block a user