]> git.baikalelectronics.ru Git - kernel.git/commit
rbd: use rwsem to protect header updates
authorAlex Elder <elder@inktank.com>
Fri, 31 May 2013 22:40:45 +0000 (17:40 -0500)
committerSage Weil <sage@inktank.com>
Wed, 3 Jul 2013 22:32:43 +0000 (15:32 -0700)
commit35a18a7eba3aca43ff4e897dae84db3b65a07501
tree6da8c0cfcd4aeb02a738a6c552f9a5f429139164
parente4859498a61f7d6f8e8160020533e731f5a7a76f
rbd: use rwsem to protect header updates

Updating an image header needs to be protected to ensure it's
done consistently.  However distinct headers can be updated
concurrently without a problem.  Instead of using the global
control lock to serialize headder updates, just rely on the header
semaphore.  (It's already used, this just moves it out to cover
a broader section of the code.)

That leaves the control mutex protecting only the creation of rbd
clients, so rename it.

This resolves:
    http://tracker.ceph.com/issues/5222

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
drivers/block/rbd.c