From: Mantas Mikulėnas Date: Fri, 1 Apr 2016 18:51:20 +0000 (+0300) Subject: cryptsetup: do not 'fail' if trying to detach a nonexistent device X-Git-Tag: v230~224 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a0bfc9c26a2cc44b95b1a02200cb999dedf9c0c3;p=thirdparty%2Fsystemd.git cryptsetup: do not 'fail' if trying to detach a nonexistent device It could be that our .service is being stopped precisely because the device already disappeared (e.g. due to a manual `cryptsetup close`, or due to UDisks2 cleaning up). --- diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index 2ef966257a9..9927621ea05 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -719,8 +719,12 @@ int main(int argc, char *argv[]) { int k; k = crypt_init_by_name(&cd, argv[2]); - if (k) { - log_error_errno(k, "crypt_init() failed: %m"); + if (k == -ENODEV) { + log_info("Volume %s already inactive.", argv[2]); + r = EXIT_SUCCESS; + goto finish; + } else if (k) { + log_error_errno(k, "crypt_init_by_name() failed: %m"); goto finish; }