]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: remove snaprealm from parent when closing it
authorYan, Zheng <zyan@redhat.com>
Thu, 25 Dec 2014 12:42:16 +0000 (20:42 +0800)
committerYan, Zheng <zyan@redhat.com>
Thu, 5 Feb 2015 14:40:38 +0000 (22:40 +0800)
Signed-off-by: Yan, Zheng <zyan@redhat.com>
src/client/Client.cc

index 53e225c47a952557cd2b4688a9f0f5b2dc686fb2..02328914733789350ac5d4271cb7901562446082 100644 (file)
@@ -3693,6 +3693,10 @@ void Client::put_snap_realm(SnapRealm *realm)
                 << " " << realm->nref << " -> " << (realm->nref - 1) << dendl;
   if (--realm->nref == 0) {
     snap_realms.erase(realm->ino);
+    if (realm->pparent) {
+      realm->pparent->pchildren.erase(realm);
+      put_snap_realm(realm->pparent);
+    }
     delete realm;
   }
 }