]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw_file: user info never synced since librgw init 25406/head
authortaoCH <sebastien.chen92@gmail.com>
Wed, 5 Dec 2018 10:20:20 +0000 (18:20 +0800)
committertaoCH <sebastien.chen92@gmail.com>
Wed, 5 Dec 2018 10:20:20 +0000 (18:20 +0800)
Fixed: https://tracker.ceph.com/issues/37527

Signed-off-by: Tao Chen <chentao@umcloud.com>
src/rgw/librgw.cc
src/rgw/rgw_file.h

index dc01a91c38c1b90f4c07a24a93cbf26cf7f98c8e..563e798adeb7f67425620799e23411ba57822361 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 8702b0060dc83034029675067f171b85ea5a2415..4afc5752808eef0833d1257906c94f33363d0330 100644 (file)
@@ -1237,6 +1237,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 */