]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: do files recovery after processing cap flushes
authorYan, Zheng <zyan@redhat.com>
Wed, 29 Jun 2016 03:42:42 +0000 (11:42 +0800)
committerYan, Zheng <zyan@redhat.com>
Wed, 20 Jul 2016 02:36:00 +0000 (10:36 +0800)
commit57b39f04087f3ba855248950723c949e3b7dcd7c
tree1fcfcb9e45b0ee94f5d7cfb1001b68768fe94b9d
parentbace1c8c7ce7d29676b9ed6925cdee41af8a8425
mds: do files recovery after processing cap flushes

File recovery may update inode and trigger inode COW. MDS relies on
client caps to setup CInode::client_need_snapflush. But for a given
client, the reconnected caps may not include the flushing caps.
(Before MDS failover, client released and flushed some caps at the
same time. When MDS recovers, client re-send the cap flush and send
cap reconnect to the MDS.) This may cause later snapflush to get
dropped.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit dd98448d3d0bbb7d338f03f7ad1e40f217eebe0d)
src/mds/MDCache.cc
src/mds/MDCache.h
src/mds/MDSRank.cc