Whamcloud - gitweb
LU-13098 ptlrpc: supress connection restored message 86/37086/4
authorAlex Zhuravlev <bzzz@whamcloud.com>
Sat, 21 Dec 2019 15:40:20 +0000 (18:40 +0300)
committerOleg Drokin <green@whamcloud.com>
Thu, 23 Jan 2020 05:31:52 +0000 (05:31 +0000)
if that happens on idling connection.

Fixes: 5a6ceb664f07 ("LU-7236 ptlrpc: idle connections can disconnect")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I506665d427f3e77477f53e2d3059bcb1daaf0318
Reviewed-on: https://review.whamcloud.com/37086
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Amir Shehata <ashehata@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lustre_import.h
lustre/ptlrpc/import.c

index a2de838..375d5ef 100644 (file)
@@ -309,7 +309,9 @@ struct obd_import {
                                  /* connected but not FULL yet */
                                  imp_connected:1,
                                  /* grant shrink disabled */
-                                 imp_grant_shrink_disabled:1;
+                                 imp_grant_shrink_disabled:1,
+                                 /* to supress LCONSOLE() at conn.restore */
+                                 imp_was_idle:1;
        u32                       imp_connect_op;
        u32                       imp_idle_timeout;
        u32                       imp_idle_debug;
index ab38eb5..e6063e4 100644 (file)
@@ -1610,10 +1610,15 @@ int ptlrpc_import_recovery_state_machine(struct obd_import *imp)
                        GOTO(out, rc);
                ptlrpc_activate_import(imp, true);
 
-               LCONSOLE_INFO("%s: Connection restored to %s (at %s)\n",
-                             imp->imp_obd->obd_name,
-                             obd_uuid2str(&conn->c_remote_uuid),
-                             obd_import_nid2str(imp));
+               CDEBUG_LIMIT(imp->imp_was_idle ?
+                               imp->imp_idle_debug : D_CONSOLE,
+                            "%s: Connection restored to %s (at %s)\n",
+                            imp->imp_obd->obd_name,
+                            obd_uuid2str(&conn->c_remote_uuid),
+                            obd_import_nid2str(imp));
+               spin_lock(&imp->imp_lock);
+               imp->imp_was_idle = 0;
+               spin_unlock(&imp->imp_lock);
        }
 
        if (imp->imp_state == LUSTRE_IMP_FULL) {
@@ -1825,6 +1830,12 @@ int ptlrpc_disconnect_and_idle_import(struct obd_import *imp)
        CDEBUG_LIMIT(imp->imp_idle_debug, "%s: disconnect after %llus idle\n",
                     imp->imp_obd->obd_name,
                     ktime_get_real_seconds() - imp->imp_last_reply_time);
+
+       /* don't make noise at reconnection */
+       spin_lock(&imp->imp_lock);
+       imp->imp_was_idle = 1;
+       spin_unlock(&imp->imp_lock);
+
        req->rq_interpret_reply = ptlrpc_disconnect_idle_interpret;
        ptlrpcd_add_req(req);