]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
client: drop inode when rmdir request finishes 4302/head
authorYan, Zheng <zyan@redhat.com>
Wed, 8 Apr 2015 12:16:45 +0000 (20:16 +0800)
committerYan, Zheng <zyan@redhat.com>
Sun, 19 Apr 2015 03:01:08 +0000 (11:01 +0800)
commit7df2cf243b51f33cd4672650e0a21d774d446ecc
tree862b6a630edb983e887275906a1915a75b768c58
parente39f2621d55533000c97c3ee7e7394a167283381
client: drop inode when rmdir request finishes

Current client code relies on cap message to trim unlinked inode
from cache. This method is too sensitive to message ordering. If
client receives the cap message while directory inode still contains
dentries that are referenced by unsafe requests, the inode can't
get trimmed.

The fix is, when rmdir/rename request finishes, try trimming the
unlinked inode again.

Fixes: #11339
Signed-off-by: Yan, Zheng <zyan@redhat.com>
src/client/Client.cc
src/client/MetaRequest.h