Whamcloud - gitweb
LU-11798 grant: prevent overflow of o_undirty
[fs/lustre-release.git] / lustre / osc / osc_request.c
index f3a9f38..a8c0e5c 100644 (file)
@@ -692,8 +692,8 @@ static void osc_announce_cached(struct client_obd *cli, struct obdo *oa,
                /* Do not ask for more than OBD_MAX_GRANT - a margin for server
                 * to add extent tax, etc.
                 */
-               oa->o_undirty = min(undirty, OBD_MAX_GRANT -
-                                   (PTLRPC_MAX_BRW_PAGES << PAGE_SHIFT)*4UL);
+               oa->o_undirty = min(undirty, OBD_MAX_GRANT &
+                                   ~(PTLRPC_MAX_BRW_SIZE * 4UL));
         }
        oa->o_grant = cli->cl_avail_grant + cli->cl_reserved_grant;
         oa->o_dropped = cli->cl_lost_grant;