summaryrefslogtreecommitdiffstats
path: root/net/ceph
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-01-14 12:43:31 -0600
committerSage Weil <sage@inktank.com>2013-02-13 18:29:10 -0800
commitb82d167be64b3e88d9434d8a98ce83c83a07aa48 (patch)
tree45f23409f8412ad4c536b1002553a8f8dd7a5081 /net/ceph
parent6d292906f80170f4647079dd503df18b737750af (diff)
rbd: prevent open for image being removed
An open request for a mapped rbd image can arrive while removal of that mapping is underway. We need to prevent such an open request from succeeding. (It appears that Maciej Galkiewicz ran into this problem.) Define and use a "removing" flag to indicate a mapping is getting removed. Set it in the remove path after verifying nothing holds the device open. And check it in the open path before allowing the open to proceed. Acquire the rbd device's lock around each of these spots to avoid any races accessing the flags and open_count fields. This addresses: http://tracker.newdream.net/issues/3427 Reported-by: Maciej Galkiewicz <maciejgalkiewicz@ragnarson.com> Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'net/ceph')
0 files changed, 0 insertions, 0 deletions