diff options
Diffstat (limited to 'fs/f2fs')
| -rw-r--r-- | fs/f2fs/Kconfig | 1 | ||||
| -rw-r--r-- | fs/f2fs/data.c | 17 |
2 files changed, 9 insertions, 9 deletions
diff --git a/fs/f2fs/Kconfig b/fs/f2fs/Kconfig index e57cc754d543..110a38ca5d53 100644 --- a/fs/f2fs/Kconfig +++ b/fs/f2fs/Kconfig | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0-only | ||
| 1 | config F2FS_FS | 2 | config F2FS_FS |
| 2 | tristate "F2FS filesystem support" | 3 | tristate "F2FS filesystem support" |
| 3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 6a8db4abdf5f..0ca530afc684 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c | |||
| @@ -186,7 +186,7 @@ static void f2fs_write_end_io(struct bio *bio) | |||
| 186 | continue; | 186 | continue; |
| 187 | } | 187 | } |
| 188 | 188 | ||
| 189 | fscrypt_pullback_bio_page(&page, true); | 189 | fscrypt_finalize_bounce_page(&page); |
| 190 | 190 | ||
| 191 | if (unlikely(bio->bi_status)) { | 191 | if (unlikely(bio->bi_status)) { |
| 192 | mapping_set_error(page->mapping, -EIO); | 192 | mapping_set_error(page->mapping, -EIO); |
| @@ -363,10 +363,9 @@ static bool __has_merged_page(struct bio *bio, struct inode *inode, | |||
| 363 | 363 | ||
| 364 | bio_for_each_segment_all(bvec, bio, iter_all) { | 364 | bio_for_each_segment_all(bvec, bio, iter_all) { |
| 365 | 365 | ||
| 366 | if (bvec->bv_page->mapping) | 366 | target = bvec->bv_page; |
| 367 | target = bvec->bv_page; | 367 | if (fscrypt_is_bounce_page(target)) |
| 368 | else | 368 | target = fscrypt_pagecache_page(target); |
| 369 | target = fscrypt_control_page(bvec->bv_page); | ||
| 370 | 369 | ||
| 371 | if (inode && inode == target->mapping->host) | 370 | if (inode && inode == target->mapping->host) |
| 372 | return true; | 371 | return true; |
| @@ -1785,8 +1784,9 @@ static int encrypt_one_page(struct f2fs_io_info *fio) | |||
| 1785 | f2fs_wait_on_block_writeback(inode, fio->old_blkaddr); | 1784 | f2fs_wait_on_block_writeback(inode, fio->old_blkaddr); |
| 1786 | 1785 | ||
| 1787 | retry_encrypt: | 1786 | retry_encrypt: |
| 1788 | fio->encrypted_page = fscrypt_encrypt_page(inode, fio->page, | 1787 | fio->encrypted_page = fscrypt_encrypt_pagecache_blocks(fio->page, |
| 1789 | PAGE_SIZE, 0, fio->page->index, gfp_flags); | 1788 | PAGE_SIZE, 0, |
| 1789 | gfp_flags); | ||
| 1790 | if (IS_ERR(fio->encrypted_page)) { | 1790 | if (IS_ERR(fio->encrypted_page)) { |
| 1791 | /* flush pending IOs and wait for a while in the ENOMEM case */ | 1791 | /* flush pending IOs and wait for a while in the ENOMEM case */ |
| 1792 | if (PTR_ERR(fio->encrypted_page) == -ENOMEM) { | 1792 | if (PTR_ERR(fio->encrypted_page) == -ENOMEM) { |
| @@ -1958,8 +1958,7 @@ got_it: | |||
| 1958 | err = f2fs_inplace_write_data(fio); | 1958 | err = f2fs_inplace_write_data(fio); |
| 1959 | if (err) { | 1959 | if (err) { |
| 1960 | if (f2fs_encrypted_file(inode)) | 1960 | if (f2fs_encrypted_file(inode)) |
| 1961 | fscrypt_pullback_bio_page(&fio->encrypted_page, | 1961 | fscrypt_finalize_bounce_page(&fio->encrypted_page); |
| 1962 | true); | ||
| 1963 | if (PageWriteback(page)) | 1962 | if (PageWriteback(page)) |
| 1964 | end_page_writeback(page); | 1963 | end_page_writeback(page); |
| 1965 | } else { | 1964 | } else { |
