diff options
Diffstat (limited to 'include/linux/page-flags.h')
| -rw-r--r-- | include/linux/page-flags.h | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index b5d13841604..70473da47b3 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -362,7 +362,7 @@ static inline void ClearPageCompound(struct page *page)   * pages on the LRU and/or pagecache.   */  TESTPAGEFLAG(Compound, compound) -__PAGEFLAG(Head, compound) +__SETPAGEFLAG(Head, compound)  __CLEARPAGEFLAG(Head, compound)  /*   * PG_reclaim is used in combination with PG_compound to mark the @@ -374,8 +374,14 @@ __PAGEFLAG(Head, compound)   * PG_compound & PG_reclaim	=> Tail page   * PG_compound & ~PG_reclaim	=> Head page   */ +#define PG_head_mask ((1L << PG_compound))  #define PG_head_tail_mask ((1L << PG_compound) | (1L << PG_reclaim)) +static inline int PageHead(struct page *page) +{ +	return ((page->flags & PG_head_tail_mask) == PG_head_mask); +} +  static inline int PageTail(struct page *page)  {  	return ((page->flags & PG_head_tail_mask) == PG_head_tail_mask);  |