xfs
[Top] [All Lists]

_pagebuf_lookup_pages() allocation flags

To: linux-xfs@xxxxxxxxxxx
Subject: _pagebuf_lookup_pages() allocation flags
From: Marcelo Tosatti <marcelo@xxxxxxxxxxxxxxxx>
Date: Fri, 16 Feb 2001 18:11:17 -0200 (BRST)
Sender: owner-linux-xfs@xxxxxxxxxxx
Hi,

I noticed that _pagebuf_lookup_pages() may use two different allocation
flags to allocate invalid pages depending on PBF_MAPPABLE flag:

        /* For pagebufs where we want to map an address, do not use
         * highmem pages - so that we do not need to use kmap resources
         * to access the data.
         */

        if (flags & PBF_MAPPABLE) {
                gfp_mask = GFP_BUFFER;
        } else {
                gfp_mask = GFP_HIGHUSER;
        }


My question is if only when the caller sets PBF_MAPPABLE it may hold some
fs lock? (thats why GFP_BUFFER was used, I suppose)

If callers which do not set PBF_MAPPABLE may have locks which are used on
the ->writepage() codepath, it may be a problem (deadlock).

I tried to track down the callers, but I want to read pagebuf code for now
and the whole XFS code :)





<Prev in Thread] Current Thread [Next in Thread>