]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: include nfiles/nsubdirs of directory inode in MClientCaps 21668/head
authorYan, Zheng <zyan@redhat.com>
Thu, 26 Apr 2018 07:12:48 +0000 (15:12 +0800)
committerYan, Zheng <zyan@redhat.com>
Thu, 3 May 2018 03:02:06 +0000 (11:02 +0800)
commitee2c628f6783954e9b25fab8ac9b572a58666a91
treef5f4351b9c09b0f6e0fe451ae0ba5367b029db5a
parent189192b2f60429e95ff798314e71c4252cc6bf7f
mds: include nfiles/nsubdirs of directory inode in MClientCaps

Directory inode's dirstat gets updated by request reply, but not by
cap message. This causes problem for following case.

1. MDS modifies a directory
2. MDS issues CEPH_CAP_ANY_SHARED to client
3. The client satifies stat(2) by its cached metadata.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Fixes: http://tracker.ceph.com/issues/23855
src/client/Client.cc
src/mds/CInode.cc
src/messages/MClientCaps.h