Whamcloud - gitweb
LU-5549 mdc: cl_default_mds_easize not refreshed
[fs/lustre-release.git] / lustre / include / lustre_mdc.h
index c0f070f..7b09164 100644 (file)
@@ -165,28 +165,42 @@ static inline void mdc_put_rpc_lock(struct mdc_rpc_lock *lck,
        EXIT;
 }
 
-/* Update the maximum observed easize and cookiesize.  The default easize
- * and cookiesize is initialized to the minimum value but allowed to grow
- * up to a single page in size if required to handle the common case.
+/**
+ * Update the maximum possible easize and cookiesize.
+ *
+ * The values are learned from ptlrpc replies sent by the MDT.  The
+ * default easize and cookiesize is initialized to the minimum value but
+ * allowed to grow up to a single page in size if required to handle the
+ * common case.
+ *
+ * \see client_obd::cl_default_mds_easize and
+ * client_obd::cl_default_mds_cookiesize
+ *
+ * \param[in] exp      export for MDC device
+ * \param[in] body     body of ptlrpc reply from MDT
+ *
  */
 static inline void mdc_update_max_ea_from_body(struct obd_export *exp,
                                               struct mdt_body *body)
 {
        if (body->mbo_valid & OBD_MD_FLMODEASIZE) {
                struct client_obd *cli = &exp->exp_obd->u.cli;
+               __u32 def_easize;
+               __u32 def_cookiesize;
 
-               if (cli->cl_max_mds_easize < body->mbo_max_mdsize) {
+               if (cli->cl_max_mds_easize < body->mbo_max_mdsize)
                        cli->cl_max_mds_easize = body->mbo_max_mdsize;
-                       cli->cl_default_mds_easize =
-                               min_t(__u32, body->mbo_max_mdsize,
-                                     PAGE_CACHE_SIZE);
-               }
-               if (cli->cl_max_mds_cookiesize < body->mbo_max_cookiesize) {
+
+               def_easize = min_t(__u32, body->mbo_max_mdsize,
+                                  OBD_MAX_DEFAULT_EA_SIZE);
+               cli->cl_default_mds_easize = def_easize;
+
+               if (cli->cl_max_mds_cookiesize < body->mbo_max_cookiesize)
                        cli->cl_max_mds_cookiesize = body->mbo_max_cookiesize;
-                       cli->cl_default_mds_cookiesize =
-                           min_t(__u32, body->mbo_max_cookiesize,
-                                 PAGE_CACHE_SIZE);
-               }
+
+               def_cookiesize = min_t(__u32, body->mbo_max_cookiesize,
+                                      OBD_MAX_DEFAULT_COOKIE_SIZE);
+               cli->cl_default_mds_cookiesize = def_cookiesize;
        }
 }