|author||Michal Hocko <firstname.lastname@example.org>||2015-11-06 16:28:49 -0800|
|committer||Linus Torvalds <email@example.com>||2015-11-06 17:50:42 -0800|
mm, fs: introduce mapping_gfp_constraint()
There are many places which use mapping_gfp_mask to restrict a more generic gfp mask which would be used for allocations which are not directly related to the page cache but they are performed in the same context. Let's introduce a helper function which makes the restriction explicit and easier to track. This patch doesn't introduce any functional changes. [firstname.lastname@example.org: coding-style fixes] Signed-off-by: Michal Hocko <email@example.com> Suggested-by: Andrew Morton <firstname.lastname@example.org> Signed-off-by: Andrew Morton <email@example.com> Signed-off-by: Linus Torvalds <firstname.lastname@example.org>
Diffstat (limited to 'include')
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index a6c78e00ea96..26eabf5ec718 100644
@@ -69,6 +69,13 @@ static inline gfp_t mapping_gfp_mask(struct address_space * mapping)
return (__force gfp_t)mapping->flags & __GFP_BITS_MASK;
+/* Restricts the given gfp_mask to what the mapping allows. */
+static inline gfp_t mapping_gfp_constraint(struct address_space *mapping,
+ gfp_t gfp_mask)
+ return mapping_gfp_mask(mapping) & gfp_mask;
* This is non-atomic. Only to be used before the mapping is activated.
* Probably needs a barrier...