[PATCH 1/4] f2fs: call write_checkpoint under disabled gc

2014-10-28 Thread Jaegeuk Kim
During the write_checkpoint, we should avoid f2fs_gc trigger to avoid any
filesystem consistency.

Signed-off-by: Jaegeuk Kim 
---
 fs/f2fs/segment.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 21ccc48..d391a59 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1046,7 +1046,9 @@ int f2fs_trim_fs(struct f2fs_sb_info *sbi, struct 
fstrim_range *range)
cpc.trim_minlen = range->minlen >> sbi->log_blocksize;
 
/* do checkpoint to issue discard commands safely */
+   mutex_lock(>gc_mutex);
write_checkpoint(sbi, );
+   mutex_unlock(>gc_mutex);
 out:
range->len = cpc.trimmed << sbi->log_blocksize;
return 0;
-- 
2.1.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/4] f2fs: call write_checkpoint under disabled gc

2014-10-28 Thread Jaegeuk Kim
During the write_checkpoint, we should avoid f2fs_gc trigger to avoid any
filesystem consistency.

Signed-off-by: Jaegeuk Kim jaeg...@kernel.org
---
 fs/f2fs/segment.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 21ccc48..d391a59 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1046,7 +1046,9 @@ int f2fs_trim_fs(struct f2fs_sb_info *sbi, struct 
fstrim_range *range)
cpc.trim_minlen = range-minlen  sbi-log_blocksize;
 
/* do checkpoint to issue discard commands safely */
+   mutex_lock(sbi-gc_mutex);
write_checkpoint(sbi, cpc);
+   mutex_unlock(sbi-gc_mutex);
 out:
range-len = cpc.trimmed  sbi-log_blocksize;
return 0;
-- 
2.1.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/