summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/gc.h
diff options
context:
space:
mode:
authorChao Yu2015-07-10 12:08:10 +0200
committerJaegeuk Kim2015-08-04 23:09:58 +0200
commitc1c1b58359d45e1a9f236ce5a40d50720c07c70e (patch)
tree47b6b96952253ebe3b4f891494aa6802ec0a4c9f /fs/f2fs/gc.h
parentf2fs: maintain extent cache in separated file (diff)
downloadkernel-qcow2-linux-c1c1b58359d45e1a9f236ce5a40d50720c07c70e.tar.gz
kernel-qcow2-linux-c1c1b58359d45e1a9f236ce5a40d50720c07c70e.tar.xz
kernel-qcow2-linux-c1c1b58359d45e1a9f236ce5a40d50720c07c70e.zip
f2fs: add new ioctl F2FS_IOC_GARBAGE_COLLECT
When background gc is off, the only way to trigger gc is executing a force gc in some operations who wants to grab space in disk. The executing condition is limited: to execute force gc, we should wait for the time when there is almost no more free section for LFS allocation. This seems not reasonable for our user who wants to control triggering gc by himself. This patch introduces F2FS_IOC_GARBAGE_COLLECT interface for triggering garbage collection by using ioctl. It provides our users one more option to trigger gc. Signed-off-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/gc.h')
-rw-r--r--fs/f2fs/gc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/f2fs/gc.h b/fs/f2fs/gc.h
index b4a65be9f7d3..c5a055b3376e 100644
--- a/fs/f2fs/gc.h
+++ b/fs/f2fs/gc.h
@@ -19,6 +19,12 @@
#define LIMIT_INVALID_BLOCK 40 /* percentage over total user space */
#define LIMIT_FREE_BLOCK 40 /* percentage over invalid + free space */
+/*
+ * with this macro, we can control the max time we do garbage collection,
+ * when user triggers batch mode gc by ioctl.
+ */
+#define F2FS_BATCH_GC_MAX_NUM 16
+
/* Search max. number of dirty segments to select a victim segment */
#define DEF_MAX_VICTIM_SEARCH 4096 /* covers 8GB */