[DRBD-user] drbd-9 wont compile against linux kernel 4.4

Oliver Rath oliver at greenunit.de
Tue Jan 19 23:44:41 CET 2016

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


Hi list,

drbd-9 (git) wont compile against 4.4.

Looks like __GFP_WAIT was removed in the following kernel commit:

====
commit 71baba4b92dc1fa1bc461742c6ab1942ec6034e9
Author: Mel Gorman <mgorman at techsingularity.net>
Date:   Fri Nov 6 16:28:28 2015 -0800

    mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM

    __GFP_WAIT was used to signal that the caller was in atomic context and
    could not sleep.  Now it is possible to distinguish between true atomic
    context and callers that are not willing to sleep.  The latter should
    clear __GFP_DIRECT_RECLAIM so kswapd will still wake.  As clearing
    __GFP_WAIT behaves differently, there is a risk that people will
clear the
    wrong flags.  This patch renames __GFP_WAIT to __GFP_RECLAIM to clearly
    indicate what it does -- setting it allows all reclaim activity,
clearing
    them prevents it.
====

In addition, GFP_IOFS was removed by the following kernel commit:

====
commit 40113370836e8e79befa585277296ed42781ef31
Author: Mel Gorman <mgorman at techsingularity.net>
Date:   Fri Nov 6 16:28:25 2015 -0800

    mm: page_alloc: remove GFP_IOFS

    GFP_IOFS was intended to be shorthand for clearing two flags, not a
set of
    allocation flags.  There is only one user of this flag combination
now and
    there appears to be no reason why Lustre had to be protected from
reclaim
    stalls.  As none of the sites appear to be atomic, this patch simply
    deletes GFP_IOFS and converts Lustre to using GFP_KERNEL, GFP_NOFS or
    GFP_NOIO as appropriate.
====


As a workaround

#ifndef __GFP_WAIT
#define __GFP_WAIT __GFP_RECLAIM
#endif

at the appropriate places let compile it.

HTH,
Oliver



More information about the drbd-user mailing list