Whamcloud - gitweb
LU-911 ost: ost_handle() to refill environment on every requests
[fs/lustre-release.git] / lustre / ost / ost_handler.c
index 25b8bf8..197381b 100644 (file)
@@ -818,12 +818,11 @@ out:
         } else {
                 /* reply out callback would free */
                 ptlrpc_req_drop_rs(req);
-                CWARN("%s: ignoring bulk IO comm error with %s@%s id %s - "
-                      "client will retry\n",
-                      exp->exp_obd->obd_name,
-                      exp->exp_client_uuid.uuid,
-                      exp->exp_connection->c_remote_uuid.uuid,
-                      libcfs_id2str(req->rq_peer));
+                LCONSOLE_WARN("%s: Bulk IO read error with %s (at %s), "
+                              "client will retry: rc %d\n",
+                              exp->exp_obd->obd_name,
+                              obd_uuid2str(&exp->exp_client_uuid),
+                              obd_export_nid2str(exp), rc);
         }
         /* send a bulk after reply to simulate a network delay or reordering
          * by a router */
@@ -1124,12 +1123,11 @@ out:
         } else {
                 /* reply out callback would free */
                 ptlrpc_req_drop_rs(req);
-                CWARN("%s: ignoring bulk IO comm error with %s@%s id %s - "
-                      "client will retry\n",
-                      exp->exp_obd->obd_name,
-                      exp->exp_client_uuid.uuid,
-                      exp->exp_connection->c_remote_uuid.uuid,
-                      libcfs_id2str(req->rq_peer));
+                LCONSOLE_WARN("%s: Bulk IO write error with %s (at %s), "
+                              "client will retry: rc %d\n",
+                              exp->exp_obd->obd_name,
+                              obd_uuid2str(&exp->exp_client_uuid),
+                              obd_export_nid2str(exp), rc);
         }
         cfs_memory_pressure_clr();
         RETURN(rc);
@@ -1584,7 +1582,7 @@ static int ost_filter_recovery_request(struct ptlrpc_request *req,
                 RETURN(0);
 
         default:
-                DEBUG_REQ(D_ERROR, req, "not permitted during recovery");
+                DEBUG_REQ(D_WARNING, req, "not permitted during recovery");
                 *process = -EAGAIN;
                 RETURN(0);
         }
@@ -2061,6 +2059,12 @@ int ost_handle(struct ptlrpc_request *req)
         struct obd_device *obd = NULL;
         ENTRY;
 
+        /* OST module is kept between remounts, but the last reference
+         * to specific module (say, osd or ofd) kills all related keys
+         * from the environment. so we have to refill it until the root
+         * cause is fixed properly */
+        lu_env_refill(req->rq_svc_thread->t_env);
+
         LASSERT(current->journal_info == NULL);
 
         /* primordial rpcs don't affect server recovery */