From b8691649c58e9ec2b874765db61aac398a08a8b2 Mon Sep 17 00:00:00 2001 From: Ondrej Kozina Date: Fri, 23 Feb 2018 16:39:17 +0100 Subject: [PATCH] Retry dm-crypt load if performance options are not supported. --- lib/libdevmapper.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/libdevmapper.c b/lib/libdevmapper.c index 13703a58..ec0cfbe8 100644 --- a/lib/libdevmapper.c +++ b/lib/libdevmapper.c @@ -1163,6 +1163,14 @@ static int check_retry(uint32_t *dmd_flags, uint32_t dmt_flags) ret = 1; } + /* Drop performance options if not supported */ + if ((*dmd_flags & (CRYPT_ACTIVATE_SAME_CPU_CRYPT | CRYPT_ACTIVATE_SUBMIT_FROM_CRYPT_CPUS)) && + !(dmt_flags & (DM_SAME_CPU_CRYPT_SUPPORTED | DM_SUBMIT_FROM_CRYPT_CPUS_SUPPORTED))) { + log_dbg("dm-crypt doesn't support performance options"); + *dmd_flags = *dmd_flags & ~(CRYPT_ACTIVATE_SAME_CPU_CRYPT | CRYPT_ACTIVATE_SUBMIT_FROM_CRYPT_CPUS); + ret = 1; + } + return ret; }