]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
client: fix Client::handle_cap_flushsnap_ack() crash 12859/head
authorYan, Zheng <zyan@redhat.com>
Tue, 10 Jan 2017 09:16:40 +0000 (17:16 +0800)
committerYan, Zheng <zyan@redhat.com>
Tue, 10 Jan 2017 09:41:50 +0000 (17:41 +0800)
commit525c52fd491ed1ced385c8047872e3f557f8423f
tree35f790d98ab11e132f95b1e366c8f603728591e3
parent59c01082411d51b256049508f5fd1bd3a84204a2
client: fix Client::handle_cap_flushsnap_ack() crash

Struct CapSnap holds a reference to its parent inode. So erasing
struct CapSnap from Inode::cap_snaps may drop inode's last reference.
The inode gets freed in the middle of erasing struct CapSnap

Fixes: http://tracker.ceph.com/issues/18460
Signed-off-by: Yan, Zheng <zyan@redhat.com>
src/client/Client.cc