From e917608c3e4765feda41b79e3cd74520f53c5f01 Mon Sep 17 00:00:00 2001 From: Lukasz Pawelczyk Date: Wed, 20 Sep 2017 14:33:44 +0200 Subject: [PATCH] Catch external mount/umount error messages Change-Id: I0d1917f20a5113734635766f4a83a9eb8896e80e --- server/external-encryption.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/server/external-encryption.cpp b/server/external-encryption.cpp index d20c382..41648a7 100644 --- a/server/external-encryption.cpp +++ b/server/external-encryption.cpp @@ -245,8 +245,15 @@ int ExternalEncryptionServer::mount() return 0; } - engine->mount(mountKey, getOptions()); - mountKey.clear(); + INFO(SINK, "Mount external storage..."); + try { + engine->mount(mountKey, getOptions()); + mountKey.clear(); + } catch (runtime::Exception &e) { + mountKey.clear(); + ERROR(SINK, "Failed to mount: " + std::string(e.what())); + return -3; + } context.notify("ExternalEncryptionServer::mount"); @@ -267,7 +274,12 @@ int ExternalEncryptionServer::umount() INFO(SINK, "Close all applications using external storage..."); killDependentApplications(EXTERNAL_PATH); INFO(SINK, "Umount external storage..."); - engine->umount(); + try { + engine->umount(); + } catch (runtime::Exception &e) { + ERROR(SINK, "Failed to umount: " + std::string(e.what())); + return -3; + } return 0; } -- 2.7.4