f2fs: introduce struct flush_cmd_control to wrap the flush_merge fields
Subsystems (2)
PATCH 1/2 f2fs: introduce struct flush_cmd_control to wrap the flush_merge fields
Split the flush_merge fields from sm_i, and use the new struct flush_cmd_control to wrap it, so that we can igonre these fileds if flush_merge is disable, and it alse can the structs more neat.
Signed-off-by Gu Zheng <[email protected]>
--- fs/f2fs/f2fs.h | 17 ++++++++---- fs/f2fs/segment.c | 69 ++++++++++++++++++++++++++++++++-------------------- fs/f2fs/super.c | 42 +++++++++++++++++-------------- 3 files changed, 76 insertions(+), 52 deletions(-)
fs/f2fs/f2fs.h +11 -6
@@ -325,6 +325,15 @@ struct flush_cmd {int ret; }; +struct flush_cmd_control { +struct task_struct *f2fs_issue_flush;/* flush thread */ +wait_queue_head_t flush_wait_queue;/* waiting queue for wake-up */ +struct flush_cmd *issue_list;/* list for command issue */ +struct flush_cmd *dispatch_list;/* list for command dispatch */ +spinlock_t issue_lock;/* for issue list lock */ +struct flush_cmd *issue_tail;/* list tail of issue list */ +}; +struct f2fs_sm_info {struct sit_info *sit_info;/* whole segment information */ struct free_segmap_info *free_info;/* free segment information */
@@ -355,12 +364,8 @@ struct f2fs_sm_info {unsigned int min_ipu_util;/* in-place-update threshold */ /* for flush command control */ -struct task_struct *f2fs_issue_flush;/* flush thread */ -wait_queue_head_t flush_wait_queue;/* waiting queue for wake-up */ -struct flush_cmd *issue_list;/* list for command issue */ -struct flush_cmd *dispatch_list;/* list for command dispatch */ -spinlock_t issue_lock;/* for issue list lock */ -struct flush_cmd *issue_tail;/* list tail of issue list */ +struct flush_cmd_control *cmd_control_info; + };/*
fs/f2fs/segment.c +42 -27
122 lines not on this page · raw message
fs/f2fs/super.c +23 -19
52 lines not on this page · raw message
Signature · 9 lines
1.7.7 ------------------------------------------------------------------------------ Start Your Social Network Today - Download eXo Platform Build your Enterprise Intranet with eXo Platform Software Java Based Open Source Intranet - Social, Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A Collaboration Platform http://p.sf.net/sfu/ExoPlatform