Bug #2339
closedosd: EBUSY on object delete when watchers present
0%
Description
in particular, you can't delete an rbd image that has watchers. that may be okay if there is someone actively mounting it, but it's not okay if we don't properly time out the watchers. we could:
- make delete remove timed-out watchers. then EBUSY or proceed.
- make a force-delete that removed even when watchers are present.
either or both may be sufficient...
see #2311
Updated by Sage Weil almost 12 years ago
- Priority changed from High to Normal
- Target version deleted (
v0.47)
After some discussion, it seems like the right path is to:
- associate an error code with notify events (e.g., 0 = successful notify, ENOENT or -ENODEV => object has been deleted) send a notify on delete
Sadly the librados c and c++ apis for notify needs to be changed to deliver that all the way through (and the opcode removed at the same time). Luckily neither rbd or rgw care about it, so we can defer that until the next api revision.
Updated by Sage Weil over 11 years ago
when this is fixed, testrados_watch_notify needs to get its last test reenabled! it is currently disabled due to this bug.