diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/filemap.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 1e215fc36c83..2e7c8d980d5e 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -482,6 +482,12 @@ int filemap_write_and_wait_range(struct address_space *mapping, | |||
482 | { | 482 | { |
483 | int err = 0; | 483 | int err = 0; |
484 | 484 | ||
485 | if (dax_mapping(mapping) && mapping->nrexceptional) { | ||
486 | err = dax_writeback_mapping_range(mapping, lstart, lend); | ||
487 | if (err) | ||
488 | return err; | ||
489 | } | ||
490 | |||
485 | if (mapping->nrpages) { | 491 | if (mapping->nrpages) { |
486 | err = __filemap_fdatawrite_range(mapping, lstart, lend, | 492 | err = __filemap_fdatawrite_range(mapping, lstart, lend, |
487 | WB_SYNC_ALL); | 493 | WB_SYNC_ALL); |