Bug #16988
'rbd feature disable' against non-primary image results in hung CLI
0%
Description
The command will continuously repeat an error about requesting the exclusive lock:
$ rbd --cluster cluster1 --pool mirror feature disable test journaling 2016-08-10 15:01:29.470815 7f699985d180 -1 WARNING: the following dangerous and experimental features are enabled: * 2016-08-10 15:01:29.471004 7f699985d180 -1 WARNING: the following dangerous and experimental features are enabled: * 2016-08-10 15:01:29.472940 7f699985d180 -1 WARNING: the following dangerous and experimental features are enabled: * 2016-08-10 15:01:29.489846 7f699985d180 -1 librbd: Mirrored image is not the primary, add force option to disable mirroring 2016-08-10 15:01:29.489858 7f699985d180 -1 librbd: error disabling image mirroring: (22) Invalid argument 2016-08-10 15:01:29.493150 7f69727fc700 -1 librbd::ImageWatcher: 0x7f69540008c0 error requesting lock: (30) Read-only file system 2016-08-10 15:01:30.494427 7f69727fc700 -1 librbd::ImageWatcher: 0x7f69540008c0 error requesting lock: (30) Read-only file system 2016-08-10 15:01:31.495998 7f69727fc700 -1 librbd::ImageWatcher: 0x7f69540008c0 error requesting lock: (30) Read-only file system 2016-08-10 15:01:32.497693 7f69727fc700 -1 librbd::ImageWatcher: 0x7f69540008c0 error requesting lock: (30) Read-only file system 2016-08-10 15:01:33.499159 7f69727fc700 -1 librbd::ImageWatcher: 0x7f69540008c0 error requesting lock: (30) Read-only file system 2016-08-10 15:01:34.500463 7f69727fc700 -1 librbd::ImageWatcher: 0x7f69540008c0 error requesting lock: (30) Read-only file system ...
History
#1 Updated by Jason Dillaman over 7 years ago
- Backport set to jewel
#2 Updated by Brett Niver over 7 years ago
- Status changed from New to In Progress
- Assignee set to Brett Niver
Seems only one line of code missing - at least to avoid the hang, and allows an error message to be displayed.
#3 Updated by Venky Shankar about 7 years ago
Jason, I think Mykola's PR https://github.com/ceph/ceph/pull/10980 would automatically fix this, right?
#4 Updated by Venky Shankar about 7 years ago
- Status changed from In Progress to Resolved
Tested with PR#10980, no cli hang was seen:
./bin/rbd --cluster cluster2 -p mirror feature disable r0 journaling
2016-09-27 13:30:57.037843 7fad3f2f4180 -1 WARNING: the following dangerous and experimental features are enabled: *
2016-09-27 13:30:57.037890 7fad3f2f4180 -1 WARNING: the following dangerous and experimental features are enabled: *
2016-09-27 13:30:57.039812 7fad3f2f4180 -1 WARNING: the following dangerous and experimental features are enabled: *
2016-09-27 13:30:57.062617 7fad0f7fe700 -1 librbd::journal::StandardPolicy: local image not promoted
2016-09-27 13:30:57.062625 7fad0f7fe700 -1 librbd::exclusive_lock::AcquireRequest: failed to allocate journal tag: (1) Operation not permitted
2016-09-27 13:30:57.071543 7fad0f7fe700 -1 librbd::ExclusiveLock: failed to acquire exclusive lock:(1) Operation not permitted
rbd: failed to update image features: (30) Read-only file system
#5 Updated by Venky Shankar about 7 years ago
- Status changed from Resolved to In Progress
Moved to resolved too quickly, should be done after PR#10980 is merged.
#6 Updated by Jason Dillaman almost 7 years ago
- Assignee changed from Brett Niver to Jason Dillaman
#7 Updated by Jason Dillaman almost 7 years ago
- Status changed from In Progress to Fix Under Review
PR: https://github.com/ceph/ceph/pull/12639 (just the "librbd: fail immediately if the exclusive lock cannot be acquired" portion)
#8 Updated by Mykola Golub almost 7 years ago
- Status changed from Fix Under Review to Pending Backport
#9 Updated by Jason Dillaman almost 7 years ago
- Backport changed from jewel to kraken,jewel
#10 Updated by Jason Dillaman almost 7 years ago
- Status changed from Pending Backport to Resolved
- Backport deleted (
kraken,jewel)
On second thought: it will be backported by #18327
#11 Updated by Jason Dillaman over 6 years ago
- Status changed from Resolved to In Progress
Fix was lost in master branch
#12 Updated by Jason Dillaman over 6 years ago
- Status changed from In Progress to Resolved
Verified that it still works in master after exclusive lock / managed lock refactor