From c800f6f41d3ef7d86fbeb42c65d892df5ea4d02c Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Thu, 22 Jan 2015 12:38:11 -0500 Subject: ext4: backport mm portion of: fix data integrity sync in ordered mode Commit 1c8349a17137: "ext4: fix data integrity sync in ordered mode" included changes to include/linux/page-flags.h and mm/page-writeback.c. Apply them as part of the 3.18 ext4 backport. Signed-off-by: Theodore Ts'o --- include/linux/page-flags.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'include/linux') diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 7fbd67200..327a01903 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -318,13 +318,23 @@ CLEARPAGEFLAG(Uptodate, uptodate) extern void cancel_dirty_page(struct page *page, unsigned int account_size); int test_clear_page_writeback(struct page *page); -int test_set_page_writeback(struct page *page); +int __test_set_page_writeback(struct page *page, bool keep_write); + +#define test_set_page_writeback(page) \ + __test_set_page_writeback(page, false) +#define test_set_page_writeback_keepwrite(page) \ + __test_set_page_writeback(page, true) static inline void set_page_writeback(struct page *page) { test_set_page_writeback(page); } +static inline void set_page_writeback_keepwrite(struct page *page) +{ + test_set_page_writeback_keepwrite(page); +} + #ifdef CONFIG_PAGEFLAGS_EXTENDED /* * System with lots of page flags available. This allows separate -- cgit v1.2.3