rbd: don't acquire exclusive lock for read-only mappings
authorIlya Dryomov <idryomov@gmail.com>
Tue, 12 Nov 2019 18:41:48 +0000 (19:41 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 25 Nov 2019 10:44:03 +0000 (11:44 +0100)
commit3fe69921dbb29e7335e5c244d1ef66efd154f84b
tree876e65a83f3ef657f46a86ab0d751d9904df3395
parentc1b6205730ef009868fbb68cf4755b20055fcc6c
rbd: don't acquire exclusive lock for read-only mappings

A read-only mapping should be usable with read-only OSD caps, so
neither the header lock nor the object map lock can be acquired.
Unfortunately, this means that images mapped read-only lose the
advantage of the object map.

Snapshots, however, can take advantage of the object map without
any exclusionary locks, so if the object map is desired, snapshot
the image and map the snapshot instead of the image.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
drivers/block/rbd.c