summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2020-09-04 23:35:43 -0400
committerMatthew Wilcox (Oracle) <willy@infradead.org>2020-10-26 14:12:28 -0400
commit16474ac07713e2eb44f9d13b253df24a2ab29858 (patch)
treeae4cc8f86cc78521766dafb10993308e75e036f9 /include/linux
parentd2417516bd8b3dd1db096a9b040b0264d8052339 (diff)
mm/page-flags: Allow accessing PageError on tail pages
We track whether a page has had a read error for the entire THP, just like we track Uptodate and Dirty. This lets, eg, generic_file_buffered_read() continue to work on the appropriate subpage of the THP without modification. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/page-flags.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 4f6ba9379112..eb3a9796de8e 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -328,7 +328,8 @@ static inline int TestClearPage##uname(struct page *page) { return 0; }
__PAGEFLAG(Locked, locked, PF_NO_TAIL)
PAGEFLAG(Waiters, waiters, PF_ONLY_HEAD) __CLEARPAGEFLAG(Waiters, waiters, PF_ONLY_HEAD)
-PAGEFLAG(Error, error, PF_NO_TAIL) TESTCLEARFLAG(Error, error, PF_NO_TAIL)
+PAGEFLAG(Error, error, PF_HEAD)
+ TESTCLEARFLAG(Error, error, PF_HEAD)
PAGEFLAG(Referenced, referenced, PF_HEAD)
TESTCLEARFLAG(Referenced, referenced, PF_HEAD)
__SETPAGEFLAG(Referenced, referenced, PF_HEAD)