mirror of
https://github.com/ceph/ceph
synced 2025-01-12 14:10:27 +00:00
mon/AuthMonitor: check if entity is absent before creating it
Although this code path is not used for creating entities yet, it is better to fix the bug sooner than later. Method AuthMonitor::_update_or_create_entity() must exit (with appropriate error code) when entity to be created on the Ceph cluster is already present. Signed-off-by: Rishabh Dave <ridave@redhat.com>
This commit is contained in:
parent
4228df3f35
commit
a669cd6422
@ -1984,6 +1984,14 @@ int AuthMonitor::_update_or_create_entity(const EntityName& entity,
|
||||
KeyServerData::Incremental auth_inc;
|
||||
auth_inc.name = entity;
|
||||
|
||||
// if entity to be created is already present.
|
||||
if (create_entity &&
|
||||
mon.key_server.get_auth(auth_inc.name, auth_inc.auth)) {
|
||||
ss << "entity already exists" << auth_inc.name;
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
// if entity to be updated is absent.
|
||||
if (!create_entity &&
|
||||
!mon.key_server.get_auth(auth_inc.name, auth_inc.auth)) {
|
||||
ss << "couldn't find entry " << auth_inc.name;
|
||||
|
Loading…
Reference in New Issue
Block a user