]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
client: avoid freeing inode when it contains TX buffer heads 22136/head
authorYunfeiGuan <yunfeiguan@xtaotech.com>
Tue, 8 May 2018 11:35:32 +0000 (19:35 +0800)
committerYan, Zheng <zyan@redhat.com>
Tue, 22 May 2018 03:02:43 +0000 (11:02 +0800)
commit0c7699ce54507ffa62c56433b2d0a661983e3077
treefdcc100596ef3f468f0e39de19e8f7b70be92ca3
parentc3aac468e22c7d43c567f75328cafd3c7301843c
client: avoid freeing inode when it contains TX buffer heads

ObjectCacher::discard_set() prematurely delete TX buffer heads. But
the pending writebacks still pin parent objects of these buffer heads.
Assertion "oset.objects.empty()" gets triggered if inode with pending
writebacks get freed.

Fixes: http://tracker.ceph.com/issues/23837
Signed-off-by: Guan yunfei <yunfei.guan@xtaotech.com>
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 8a03757ca0ab493c6c2ea4fa4307e053e8ebc944)
src/client/Client.cc
src/osdc/ObjectCacher.cc