Project

General

Profile

Actions

Bug #3094

closed

krbd: race between finding existing client and creating new one

Added by Alex Elder over 11 years ago. Updated almost 11 years ago.

Status:
Resolved
Priority:
Low
Assignee:
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

In rbd_get_client(), an attempt is made to reuse an existing
rbd client if there is already one with matching options.

But the scan for the existing one and the creation of the new
one are not done (together/atomically) under protection of a
single lock, so it's possible with concurrent rbd_add() requests
to have multiple clients created which have the same ceph options.

I don't believe this is a serious problem but the code is not
working as intended so it should be fixed.

Actions

Also available in: Atom PDF