summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/segment.h
diff options
context:
space:
mode:
authorJaegeuk Kim2017-04-14 00:17:00 +0200
committerJaegeuk Kim2017-04-24 21:55:41 +0200
commite066b83c9b40f3a6951fb693ef0943fa1dfc40c2 (patch)
tree9082ecce33bd28e22ffe4a7751fbb6c4fb20dbcd /fs/f2fs/segment.h
parentf2fs: introduce async IPU policy (diff)
downloadkernel-qcow2-linux-e066b83c9b40f3a6951fb693ef0943fa1dfc40c2.tar.gz
kernel-qcow2-linux-e066b83c9b40f3a6951fb693ef0943fa1dfc40c2.tar.xz
kernel-qcow2-linux-e066b83c9b40f3a6951fb693ef0943fa1dfc40c2.zip
f2fs: add ioctl to flush data from faster device to cold area
This patch adds an ioctl to flush data in faster device to cold area. User can give device number and number of segments to move. It doesn't move it if there is only one device. The parameter looks like: struct f2fs_flush_device { u32 dev_num; /* device number to flush */ u32 segments; /* # of segments to flush */ }; Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/segment.h')
-rw-r--r--fs/f2fs/segment.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index 3cd780a42f51..93cc4e504aab 100644
--- a/fs/f2fs/segment.h
+++ b/fs/f2fs/segment.h
@@ -138,7 +138,10 @@ enum {
*/
enum {
GC_CB = 0,
- GC_GREEDY
+ GC_GREEDY,
+ ALLOC_NEXT,
+ FLUSH_DEVICE,
+ MAX_GC_POLICY,
};
/*
@@ -233,6 +236,8 @@ struct sit_info {
unsigned long long mounted_time; /* mount time */
unsigned long long min_mtime; /* min. modification time */
unsigned long long max_mtime; /* max. modification time */
+
+ unsigned int last_victim[MAX_GC_POLICY]; /* last victim segment # */
};
struct free_segmap_info {