From: Yehuda Sadeh Date: Thu, 29 Dec 2011 01:00:19 +0000 (-0800) Subject: rgw: removing swift user index when removing user X-Git-Tag: v0.40~112 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e18b1c9734e88e3b779ba2d70cdd54f8fb94743d;p=ceph.git rgw: removing swift user index when removing user --- diff --git a/src/rgw/rgw_user.cc b/src/rgw/rgw_user.cc index 6088834f0aac..f30d74df5da0 100644 --- a/src/rgw/rgw_user.cc +++ b/src/rgw/rgw_user.cc @@ -439,6 +439,18 @@ int rgw_delete_user(RGWUserInfo& info) { } } + map::iterator siter = info.swift_keys.begin(); + for (; siter != info.swift_keys.end(); ++siter) { + RGWAccessKey& k = siter->second; + dout(0) << "removing swift subuser index: " << k.id << dendl; + /* check if swift mapping exists */ + ret = rgw_remove_swift_name_index(k.id); + if (ret < 0 && ret != -ENOENT) { + dout(0) << "ERROR: could not remove " << k.id << " (swift name object), should be fixed (err=" << ret << ")" << dendl; + return ret; + } + } + rgw_obj email_obj(ui_email_bucket, info.user_email); dout(0) << "removing email index: " << info.user_email << dendl; ret = rgwstore->delete_obj(NULL, email_obj);