All of lore.kernel.org
 help / color / mirror / Atom feed
* [f2fs-dev] [PATCH] f2fs: avoid inifinite loop to wait for flushing node pages at cp_error
@ 2020-05-22 14:47 ` Jaegeuk Kim
  0 siblings, 0 replies; 24+ messages in thread
From: Jaegeuk Kim @ 2020-05-22 14:47 UTC (permalink / raw)
  To: linux-kernel, linux-f2fs-devel, kernel-team; +Cc: Jaegeuk Kim

Shutdown test is somtime hung, since dirty node pages weren't flushed out.
Let's drop dirty pages at umount after shutdown.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 fs/f2fs/node.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index e632de10aedab..8c63964a82fd0 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1520,8 +1520,15 @@ static int __write_node_page(struct page *page, bool atomic, bool *submitted,
 
 	trace_f2fs_writepage(page, NODE);
 
-	if (unlikely(f2fs_cp_error(sbi)))
+	if (unlikely(f2fs_cp_error(sbi))) {
+		if (is_sbi_flag_set(sbi, SBI_IS_CLOSE)) {
+			dec_page_count(sbi, F2FS_DIRTY_NODES);
+			up_read(&sbi->node_write);
+			unlock_page(page);
+			return 0;
+		}
 		goto redirty_out;
+	}
 
 	if (unlikely(is_sbi_flag_set(sbi, SBI_POR_DOING)))
 		goto redirty_out;
-- 
2.27.0.rc0.183.gde8f92d652-goog



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply related	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-05-28  1:20 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-22 14:47 [f2fs-dev] [PATCH] f2fs: avoid inifinite loop to wait for flushing node pages at cp_error Jaegeuk Kim
2020-05-22 14:47 ` Jaegeuk Kim
2020-05-22 23:32 ` [f2fs-dev] " Jaegeuk Kim
2020-05-22 23:32   ` Jaegeuk Kim
2020-05-25  3:56   ` [f2fs-dev] [PATCH v3] " Jaegeuk Kim
2020-05-25  3:56     ` Jaegeuk Kim
2020-05-25  6:30     ` [f2fs-dev] " Chao Yu
2020-05-25  6:30       ` Chao Yu
2020-05-25 15:06       ` Jaegeuk Kim
2020-05-25 15:06         ` Jaegeuk Kim
2020-05-26  1:11         ` Chao Yu
2020-05-26  1:11           ` Chao Yu
2020-05-26  1:34           ` Chao Yu
2020-05-26  1:34             ` Chao Yu
2020-05-26  1:56             ` Jaegeuk Kim
2020-05-26  1:56               ` Jaegeuk Kim
2020-05-27  2:35               ` Chao Yu
2020-05-27  2:35                 ` Chao Yu
2020-05-27 20:56                 ` Jaegeuk Kim
2020-05-27 20:56                   ` Jaegeuk Kim
2020-05-28  1:20                   ` Chao Yu
2020-05-28  1:20                     ` Chao Yu
2020-05-25  2:16 ` [f2fs-dev] [PATCH] " Chao Yu
2020-05-25  2:16   ` Chao Yu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.