From: taoCH Date: Wed, 5 Dec 2018 10:20:20 +0000 (+0800) Subject: rgw_file: user info never synced since librgw init X-Git-Tag: v12.2.11~75^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F25484%2Fhead;p=ceph.git rgw_file: user info never synced since librgw init Fixed: https://tracker.ceph.com/issues/37527 Signed-off-by: Tao Chen (cherry picked from commit e611be8dacc2afcfbe40fe5eb7847cf565c27d07) --- diff --git a/src/rgw/librgw.cc b/src/rgw/librgw.cc index 4d7e32aaf4bb..5e97747ffbf3 100644 --- a/src/rgw/librgw.cc +++ b/src/rgw/librgw.cc @@ -119,6 +119,7 @@ namespace rgw { RGWLibFS* fs = iter->first->ref(); uniq.unlock(); fs->gc(); + fs->update_user(); fs->rele(); uniq.lock(); if (cur_gen != gen) diff --git a/src/rgw/rgw_file.h b/src/rgw/rgw_file.h index 796dcbf9d375..86d647f95568 100644 --- a/src/rgw/rgw_file.h +++ b/src/rgw/rgw_file.h @@ -1204,6 +1204,13 @@ namespace rgw { RGWUserInfo* get_user() { return &user; } + void update_user() { + RGWUserInfo _user = user; + int ret = rgw_get_user_info_by_access_key(rgwlib.get_store(), key.id, user); + if (ret != 0) + user = _user; + } + void close(); void gc(); }; /* RGWLibFS */