]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mgr/rbd_support: avoid wedging the task queue if pool is removed 49057/head
authorIlya Dryomov <idryomov@gmail.com>
Wed, 23 Nov 2022 17:10:03 +0000 (18:10 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 25 Nov 2022 11:25:16 +0000 (12:25 +0100)
commit8b6fa37be2e0f082bebebd477741faf0c5bfd5e3
tree0978620ada78f7e9138e2bcb7677fc160d416803
parent290e021fb4f6224186003b161f9a30f0cbd60730
mgr/rbd_support: avoid wedging the task queue if pool is removed

rados.ObjectNotFound exception handler was referencing ioctx variable
which is assigned only if the pool exists and rados.open_ioctx() call
succeeds.  This lead to a fatal error

  mgr[rbd_support] Failed to locate pool mypool
  mgr[rbd_support] execute_task: [errno 2] error opening pool 'b'mypool''
  mgr[rbd_support] Fatal runtime error: local variable 'ioctx' referenced before assignment

and wedged the task queue.  No other commands were processed until
ceph-mgr daemon restart.

Fixes: https://tracker.ceph.com/issues/52932
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 5a425927ed4c0d0adee3773226ccae26c1c98d30)
qa/workunits/rbd/cli_generic.sh
src/pybind/mgr/rbd_support/task.py