]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw_file: user info never synced since librgw init 25484/head
authortaoCH <sebastien.chen92@gmail.com>
Wed, 5 Dec 2018 10:20:20 +0000 (18:20 +0800)
committerPrashant D <pdhange@redhat.com>
Tue, 11 Dec 2018 03:56:34 +0000 (22:56 -0500)
Fixed: https://tracker.ceph.com/issues/37527

Signed-off-by: Tao Chen <chentao@umcloud.com>
(cherry picked from commit e611be8dacc2afcfbe40fe5eb7847cf565c27d07)

src/rgw/librgw.cc
src/rgw/rgw_file.h

index 4d7e32aaf4bbde25763e6300dc3593302e90868e..5e97747ffbf323e58b5917e183e751c54bd0f924 100644 (file)
@@ -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)
index 796dcbf9d37596aed9ee294b6677a0959e10123b..86d647f955685ce1af0686aabecc8dbbcb8f79d8 100644 (file)
@@ -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 */