summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2013-04-26 10:58:45 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2013-04-26 17:33:08 +1000
commit3b1afd66a07319f60f4ddaf2b2d3d133038498a5 (patch)
treea4d3f7dd8241b80dbc70841dead6993f2a42167c
parentab6e09fe65cb46a5d589a58a33b5387230b41374 (diff)
block-prep-work-for-batch-completion-fix-4
fix it for mm-allow-for-outstanding-swap-writeback-accounting.patch Cc: Kent Overstreet <koverstreet@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r--include/linux/swap.h6
-rw-r--r--mm/page_io.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/include/linux/swap.h b/include/linux/swap.h
index 211b0f0e2b49..ca031f7abee4 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -330,9 +330,11 @@ static inline void mem_cgroup_uncharge_swap(swp_entry_t ent)
/* linux/mm/page_io.c */
extern int swap_readpage(struct page *);
extern int swap_writepage(struct page *page, struct writeback_control *wbc);
-extern void end_swap_bio_write(struct bio *bio, int err);
+extern void end_swap_bio_write(struct bio *bio, int err,
+ struct batch_complete *batch);
extern int __swap_writepage(struct page *page, struct writeback_control *wbc,
- void (*end_write_func)(struct bio *, int));
+ void (*end_write_func)(struct bio *bio, int err,
+ struct batch_complete *batch));
extern int swap_set_page_dirty(struct page *page);
extern void end_swap_bio_read(struct bio *bio, int err,
struct batch_complete *batch);
diff --git a/mm/page_io.c b/mm/page_io.c
index 9b498ab315ea..a29407666467 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -204,7 +204,8 @@ out:
}
int __swap_writepage(struct page *page, struct writeback_control *wbc,
- void (*end_write_func)(struct bio *, int))
+ void (*end_write_func)(struct bio *bio, int err,
+ struct batch_complete *batch))
{
struct bio *bio;
int ret = 0, rw = WRITE;