|
8 | 8 |
|
9 | 9 | #include <linux/buffer_head.h>
|
10 | 10 | #include <linux/mount.h>
|
| 11 | +#include <linux/mpage.h> |
11 | 12 | #include <linux/string.h>
|
12 | 13 | #include "sysv.h"
|
13 | 14 |
|
@@ -456,9 +457,10 @@ int sysv_getattr(struct mnt_idmap *idmap, const struct path *path,
|
456 | 457 | return 0;
|
457 | 458 | }
|
458 | 459 |
|
459 |
| -static int sysv_writepage(struct page *page, struct writeback_control *wbc) |
| 460 | +static int sysv_writepages(struct address_space *mapping, |
| 461 | + struct writeback_control *wbc) |
460 | 462 | {
|
461 |
| - return block_write_full_page(page,get_block,wbc); |
| 463 | + return mpage_writepages(mapping, wbc, get_block); |
462 | 464 | }
|
463 | 465 |
|
464 | 466 | static int sysv_read_folio(struct file *file, struct folio *folio)
|
@@ -503,8 +505,9 @@ const struct address_space_operations sysv_aops = {
|
503 | 505 | .dirty_folio = block_dirty_folio,
|
504 | 506 | .invalidate_folio = block_invalidate_folio,
|
505 | 507 | .read_folio = sysv_read_folio,
|
506 |
| - .writepage = sysv_writepage, |
| 508 | + .writepages = sysv_writepages, |
507 | 509 | .write_begin = sysv_write_begin,
|
508 | 510 | .write_end = generic_write_end,
|
| 511 | + .migrate_folio = buffer_migrate_folio, |
509 | 512 | .bmap = sysv_bmap
|
510 | 513 | };
|
0 commit comments