From 052a4f432c2c478f3c94a726318c6b46c634758b Mon Sep 17 00:00:00 2001 From: Ondrej Kozina Date: Wed, 13 Mar 2019 17:35:09 +0100 Subject: [PATCH] Add internal option to skip fs freeze in device suspend. --- lib/libdevmapper.c | 7 +++++++ lib/utils_dm.h | 1 + 2 files changed, 8 insertions(+) diff --git a/lib/libdevmapper.c b/lib/libdevmapper.c index 3d5dbe96..e00ab2f3 100644 --- a/lib/libdevmapper.c +++ b/lib/libdevmapper.c @@ -907,6 +907,10 @@ static int _dm_simple(int task, const char *name, uint32_t dmflags) if (name && !dm_task_set_name(dmt, name)) goto out; + if (task == DM_DEVICE_SUSPEND && + (dmflags & DM_SUSPEND_SKIP_LOCKFS) && !dm_task_skip_lockfs(dmt)) + goto out; + r = dm_task_run(dmt); out: dm_task_destroy(dmt); @@ -1277,6 +1281,9 @@ static int _dm_resume_device(const char *name, uint32_t dmflags) if (!dm_task_set_name(dmt, name)) goto out; + if ((dmflags & DM_SUSPEND_SKIP_LOCKFS) && !dm_task_skip_lockfs(dmt)) + goto out; + if (_dm_use_udev() && !_dm_task_set_cookie(dmt, &cookie, udev_flags)) goto out; diff --git a/lib/utils_dm.h b/lib/utils_dm.h index 6a724dba..355e3576 100644 --- a/lib/utils_dm.h +++ b/lib/utils_dm.h @@ -35,6 +35,7 @@ struct crypt_params_integrity; /* Device mapper internal flags */ #define DM_RESUME_PRIVATE (1 << 4) /* CRYPT_ACTIVATE_PRIVATE */ +#define DM_SUSPEND_SKIP_LOCKFS (1 << 5) static inline uint32_t act2dmflags(uint32_t act_flags) {