diff options
author | Yan, Zheng <zyan@redhat.com> | 2015-06-10 09:17:56 +0200 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2015-06-25 10:49:31 +0200 |
commit | e548e9b93d3e565e42b938a99804114565be1f81 (patch) | |
tree | 13de716de6a024a26ad3930312e67685299e44c6 /fs/ceph/mds_client.c | |
parent | ceph: send TID of the oldest pending caps flush to MDS (diff) | |
download | linux-e548e9b93d3e565e42b938a99804114565be1f81.tar.xz linux-e548e9b93d3e565e42b938a99804114565be1f81.zip |
ceph: re-send flushing caps (which are revoked) in reconnect stage
if flushing caps were revoked, we should re-send the cap flush in
client reconnect stage. This guarantees that MDS processes the cap
flush message before issuing the flushing caps to other client.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Diffstat (limited to 'fs/ceph/mds_client.c')
-rw-r--r-- | fs/ceph/mds_client.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 31f6a78caa0a..89e4305a94d4 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -2982,6 +2982,9 @@ static void send_mds_reconnect(struct ceph_mds_client *mdsc, reply->hdr.data_len = cpu_to_le32(pagelist->length); ceph_msg_data_add_pagelist(reply, pagelist); + + ceph_early_kick_flushing_caps(mdsc, session); + ceph_con_send(&session->s_con, reply); mutex_unlock(&session->s_mutex); |