rbd: get the latest osdmap when using an existing client
authorIlya Dryomov <idryomov@gmail.com>
Thu, 22 Feb 2018 12:43:24 +0000 (13:43 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 2 Apr 2018 08:12:46 +0000 (10:12 +0200)
commitdd4358550fc5244d4757eae40e23d87894fe5273
tree2206fb90ee2f6b05386dd6928bf1200de4409909
parent5feb0d8d2f10c3f39f3d3a754dded74bb430a5e6
rbd: get the latest osdmap when using an existing client

Currently we request the latest osdmap only if ceph_pg_poolid_by_name()
fails with -ENOENT.  This is effective with newly created pools, but we
also want to avoid attempting to map from pools that were recently
deleted and report "pool does not exist" instead.  (Such an attempt
eventually fails in the OSD client after map check code kicks in, but
the error message is confusing.)

Request the latest osdmap unconditionally after bumping a ref on an
existing client in rbd_client_find().

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
drivers/block/rbd.c