From: Adam Kupczyk Date: Thu, 30 Mar 2017 13:00:22 +0000 (+0200) Subject: radosgw, encryption: Now only once attempt to load plugin if it fails. X-Git-Tag: v12.0.2~34^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=62b2dc726137a126fa432702f7205a03968542c5;p=ceph.git radosgw, encryption: Now only once attempt to load plugin if it fails. Signed-off-by: Adam Kupczyk --- diff --git a/src/rgw/rgw_crypt.cc b/src/rgw/rgw_crypt.cc index cde2e4788724..727ef3a7990d 100644 --- a/src/rgw/rgw_crypt.cc +++ b/src/rgw/rgw_crypt.cc @@ -359,7 +359,14 @@ public: const unsigned char (&key)[AES_256_KEYSIZE], bool encrypt) { - CryptoAccelRef crypto_accel = get_crypto_accel(cct); + static std::atomic failed_to_get_crypto(false); + CryptoAccelRef crypto_accel; + if (! failed_to_get_crypto.load()) + { + crypto_accel = get_crypto_accel(cct); + if (!crypto_accel) + failed_to_get_crypto = true; + } bool result = true; unsigned char iv[AES_256_IVSIZE]; for (size_t offset = 0; result && (offset < size); offset += CHUNK_SIZE) {