ceph: prevent dup stale messages to console for restarting mds
authorSage Weil <sage@newdream.net>
Thu, 18 Mar 2010 20:43:09 +0000 (13:43 -0700)
committerSage Weil <sage@newdream.net>
Tue, 23 Mar 2010 14:46:58 +0000 (07:46 -0700)
Prevent duplicate 'mds0 caps stale' message from spamming the console every
few seconds while the MDS restarts.  Set s_renew_requested earlier, so that
we only print the message once, even if we don't send an actual request.

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/mds_client.c

index 5ec86419836869da3ee24a400cf21222e25478be..5cbf46abfee3bb44f2b1c0350e779e6216116919 100644 (file)
@@ -863,6 +863,7 @@ static int send_renew_caps(struct ceph_mds_client *mdsc,
        if (time_after_eq(jiffies, session->s_cap_ttl) &&
            time_after_eq(session->s_cap_ttl, session->s_renew_requested))
                pr_info("mds%d caps stale\n", session->s_mds);
+       session->s_renew_requested = jiffies;
 
        /* do not try to renew caps until a recovering mds has reconnected
         * with its clients. */
@@ -875,7 +876,6 @@ static int send_renew_caps(struct ceph_mds_client *mdsc,
 
        dout("send_renew_caps to mds%d (%s)\n", session->s_mds,
                ceph_mds_state_name(state));
-       session->s_renew_requested = jiffies;
        msg = create_session_msg(CEPH_SESSION_REQUEST_RENEWCAPS,
                                 ++session->s_renew_seq);
        if (IS_ERR(msg))