In order to skip migrating section which contains data of pinned
file in advance.

Signed-off-by: Chao Yu <[email protected]>
---
 fs/f2fs/gc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index ea5b93b689cd..e83c07144d8f 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -1480,6 +1480,13 @@ static int gc_data_segment(struct f2fs_sb_info *sbi, 
struct f2fs_summary *sum,
                                        special_file(inode->i_mode))
                                continue;
 
+                       if (is_inode_flag_set(inode, FI_PIN_FILE) &&
+                                                       gc_type == FG_GC) {
+                               f2fs_pin_file_control(inode, true);
+                               iput(inode);
+                               return submitted;
+                       }
+
                        if (!f2fs_down_write_trylock(
                                &F2FS_I(inode)->i_gc_rwsem[WRITE])) {
                                iput(inode);
-- 
2.32.0



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to