From: Casey Bodley Date: Fri, 3 Mar 2017 16:42:45 +0000 (-0500) Subject: rgw: if user.email is empty, dont try to delete X-Git-Tag: v12.0.1~169^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=022ecf0fcc8e44912c8758ee1d9a452dc23cbbce;p=ceph-ci.git rgw: if user.email is empty, dont try to delete Fixes: http://tracker.ceph.com/issues/18980 Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_user.cc b/src/rgw/rgw_user.cc index 7ee8eb7813c..6c82524d9ea 100644 --- a/src/rgw/rgw_user.cc +++ b/src/rgw/rgw_user.cc @@ -375,9 +375,11 @@ int rgw_remove_uid_index(RGWRados *store, rgw_user& uid) int rgw_remove_email_index(RGWRados *store, string& email) { + if (email.empty()) { + return 0; + } rgw_obj obj(store->get_zone_params().user_email_pool, email); - int ret = store->delete_system_obj(obj); - return ret; + return store->delete_system_obj(obj); } int rgw_remove_swift_name_index(RGWRados *store, string& swift_name) @@ -445,11 +447,11 @@ int rgw_delete_user(RGWRados *store, RGWUserInfo& info, RGWObjVersionTracker& ob } } - rgw_obj email_obj(store->get_zone_params().user_email_pool, info.user_email); ldout(store->ctx(), 10) << "removing email index: " << info.user_email << dendl; - ret = store->delete_system_obj(email_obj); + ret = rgw_remove_email_index(store, info.user_email); if (ret < 0 && ret != -ENOENT) { - ldout(store->ctx(), 0) << "ERROR: could not remove " << info.user_id << ":" << email_obj << ", should be fixed (err=" << ret << ")" << dendl; + ldout(store->ctx(), 0) << "ERROR: could not remove email index object for " + << info.user_email << ", should be fixed (err=" << ret << ")" << dendl; return ret; }