]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ceph: reset r_resend_mds after receiving -ESTALE
authorYan, Zheng <zheng.z.yan@intel.com>
Mon, 14 Jul 2014 02:48:29 +0000 (10:48 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Mon, 14 Jul 2014 02:49:15 +0000 (10:49 +0800)
this makes __choose_mds() choose mds according caps

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
fs/ceph/mds_client.c

index 0225523297c3c54880298f94892dbadba125de7b..fd8d7ca80e75955e09df2d37393e0c5d2e2ee4e0 100644 (file)
@@ -2254,6 +2254,7 @@ static void handle_reply(struct ceph_mds_session *session, struct ceph_msg *msg)
         */
        if (result == -ESTALE) {
                dout("got ESTALE on request %llu", req->r_tid);
+               req->r_resend_mds = -1;
                if (req->r_direct_mode != USE_AUTH_MDS) {
                        dout("not using auth, setting for that now");
                        req->r_direct_mode = USE_AUTH_MDS;