From 2f82c98f5a542a69057f3e78d232380eee14eff7 Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Sun, 7 Feb 2021 15:09:24 +0100 Subject: [PATCH] librbd: treat EROFS as expected in handle_acquire_lock() If the peer refuses to release exclusive lock (e.g. in case automatic exclusive lock transitions are disabled), EROFS is retured. Suppress a rather confusing "Read-only file system" error message -- this case is no different from EBUSY or EAGAIN. Signed-off-by: Ilya Dryomov --- src/librbd/ManagedLock.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librbd/ManagedLock.cc b/src/librbd/ManagedLock.cc index a74b59dfb2f..53a0cf911ec 100644 --- a/src/librbd/ManagedLock.cc +++ b/src/librbd/ManagedLock.cc @@ -522,10 +522,10 @@ template void ManagedLock::handle_acquire_lock(int r) { ldout(m_cct, 10) << "r=" << r << dendl; - if (r == -EBUSY || r == -EAGAIN) { + if (r == -EBUSY || r == -EAGAIN || r == -EROFS) { ldout(m_cct, 5) << "unable to acquire exclusive lock" << dendl; } else if (r < 0) { - lderr(m_cct) << "failed to acquire exclusive lock:" << cpp_strerror(r) + lderr(m_cct) << "failed to acquire exclusive lock: " << cpp_strerror(r) << dendl; } else { ldout(m_cct, 5) << "successfully acquired exclusive lock" << dendl; -- 2.39.5