From: Yan, Zheng Date: Thu, 25 Dec 2014 12:42:16 +0000 (+0800) Subject: client: remove snaprealm from parent when closing it X-Git-Tag: v0.93~87^2~14 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=087ccd6fc3a2ecf1770c189d8f482e23383ec0a0;p=ceph.git client: remove snaprealm from parent when closing it Signed-off-by: Yan, Zheng --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 53e225c47a95..023289147337 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -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; } }