aboutsummaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2015-01-22 12:38:11 -0500
committerMister Oyster <oysterized@gmail.com>2017-05-27 19:39:52 +0200
commitc800f6f41d3ef7d86fbeb42c65d892df5ea4d02c (patch)
tree38a51d8ac5ed1aad46da9c1b0a03ecf1d7219e28 /include/linux
parent088cb00b882f95b49b814b0ab7413f35b14dd33f (diff)
downloadandroid_kernel_m2note-c800f6f41d3ef7d86fbeb42c65d892df5ea4d02c.tar.gz
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 <tytso@mit.edu>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/page-flags.h12
1 files changed, 11 insertions, 1 deletions
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