X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flustre_mdc.h;h=7b09164da97d4c1feba1934f57cb51d76ed70767;hp=c0f070f466adefd8eadae1a7fae4375db0da3285;hb=e709e661395af42471f5ecf3c87f2fa1d3031fbb;hpb=9d9db87afc80ed3e98e1fc05b3ad97a89ebf577a diff --git a/lustre/include/lustre_mdc.h b/lustre/include/lustre_mdc.h index c0f070f..7b09164 100644 --- a/lustre/include/lustre_mdc.h +++ b/lustre/include/lustre_mdc.h @@ -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; } }