]> Pileus Git - ~andy/linux/blobdiff - mm/hugetlb.c
Input: synaptics - add manual min/max quirk
[~andy/linux] / mm / hugetlb.c
index 2130365d387d33f7820041d338b5f8e86243170f..dee6cf4e6d34135e1880c5c01c7627aa1a33c69a 100644 (file)
@@ -702,6 +702,23 @@ int PageHuge(struct page *page)
 }
 EXPORT_SYMBOL_GPL(PageHuge);
 
+/*
+ * PageHeadHuge() only returns true for hugetlbfs head page, but not for
+ * normal or transparent huge pages.
+ */
+int PageHeadHuge(struct page *page_head)
+{
+       compound_page_dtor *dtor;
+
+       if (!PageHead(page_head))
+               return 0;
+
+       dtor = get_compound_page_dtor(page_head);
+
+       return dtor == free_huge_page;
+}
+EXPORT_SYMBOL_GPL(PageHeadHuge);
+
 pgoff_t __basepage_index(struct page *page)
 {
        struct page *page_head = compound_head(page);