diff options
author | Christoph Hellwig <hch@lst.de> | 2025-05-08 08:14:30 +0300 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2025-05-08 18:23:18 +0300 |
commit | 84c5d16711a300949cfec83e76299a75b4cdf04a (patch) | |
tree | f1803483f07bbbe69a78b14b1a6dc096431466fa | |
parent | 402dd9f02ce447e2253953b5f84a2b62fed00889 (diff) | |
download | linux-84c5d16711a300949cfec83e76299a75b4cdf04a.tar.xz |
f2fs: always unlock the page in f2fs_write_single_data_page
Consolidate the code to unlock the page in f2fs_write_single_data_page
instead of leaving it to the callers for the AOP_WRITEPAGE_ACTIVATE case.
Replace AOP_WRITEPAGE_ACTIVATE with a positive return of 1 as this case
now doesn't match the historic ->writepage special return code that is
on it's way out now that ->writepage has been removed.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r-- | fs/f2fs/compress.c | 3 | ||||
-rw-r--r-- | fs/f2fs/data.c | 8 |
2 files changed, 4 insertions, 7 deletions
diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c index e016b0f96313..1e62fdffda07 100644 --- a/fs/f2fs/compress.c +++ b/fs/f2fs/compress.c @@ -1565,8 +1565,7 @@ continue_unlock: NULL, NULL, wbc, io_type, compr_blocks, false); if (ret) { - if (ret == AOP_WRITEPAGE_ACTIVATE) { - folio_unlock(folio); + if (ret == 1) { ret = 0; } else if (ret == -EAGAIN) { ret = 0; diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 160c7b39d967..8d8018083c31 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -2917,9 +2917,9 @@ redirty_out: * file_write_and_wait_range() will see EIO error, which is critical * to return value of fsync() followed by atomic_write failure to user. */ - if (!err) - return AOP_WRITEPAGE_ACTIVATE; folio_unlock(folio); + if (!err) + return 1; return err; } @@ -3133,8 +3133,6 @@ continue_unlock: ret = f2fs_write_single_data_page(folio, &submitted, &bio, &last_block, wbc, io_type, 0, true); - if (ret == AOP_WRITEPAGE_ACTIVATE) - folio_unlock(folio); #ifdef CONFIG_F2FS_FS_COMPRESSION result: #endif @@ -3146,7 +3144,7 @@ result: * keep nr_to_write, since vfs uses this to * get # of written pages. */ - if (ret == AOP_WRITEPAGE_ACTIVATE) { + if (ret == 1) { ret = 0; goto next; } else if (ret == -EAGAIN) { |