]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
client: avoid freeing inode when it contains TX buffer heads 22001/head
authorYunfeiGuan <yunfeiguan@xtaotech.com>
Tue, 8 May 2018 11:35:32 +0000 (19:35 +0800)
committerYan, Zheng <zyan@redhat.com>
Wed, 16 May 2018 01:09:10 +0000 (09:09 +0800)
commit8a03757ca0ab493c6c2ea4fa4307e053e8ebc944
treebbe7668d3cf476f9e3804476ff4d6039b83e0ee8
parentf3cfb9407c33d722571e15e8af8f976de1456e52
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>
src/client/Client.cc
src/osdc/ObjectCacher.cc