mirror of
https://github.com/ceph/ceph
synced 2024-12-26 21:43:10 +00:00
rbd-mirror: block proxied ops with -EROFS return code
When replicating to a local image, the daemon will own the exclusive lock and will receive any proxied maintenance ops from other clients. Since the image is non-primary, respond with -EROFS. Fixes: http://tracker.ceph.com/issues/16411 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
This commit is contained in:
parent
93e2faf38e
commit
07b49df24e
@ -141,6 +141,9 @@ void OpenLocalImageRequest<I>::send_lock_image() {
|
||||
return;
|
||||
}
|
||||
|
||||
// disallow any proxied maintenance operations before grabbing lock
|
||||
(*m_local_image_ctx)->exclusive_lock->block_requests(-EROFS);
|
||||
|
||||
Context *ctx = create_context_callback<
|
||||
OpenLocalImageRequest<I>, &OpenLocalImageRequest<I>::handle_lock_image>(
|
||||
this);
|
||||
|
Loading…
Reference in New Issue
Block a user