f2fs.h (c40e15a9a59f79e79d9500f1fd019321ec35b959) f2fs.h (45c98f5a58f36c35ecf5a149cbf69cf5fd022120)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * fs/f2fs/f2fs.h
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 */
8#ifndef _LINUX_F2FS_H

--- 388 unchanged lines hidden (view full) ---

397
398struct discard_cmd_control {
399 struct task_struct *f2fs_issue_discard; /* discard thread */
400 struct list_head entry_list; /* 4KB discard entry list */
401 struct list_head pend_list[MAX_PLIST_NUM];/* store pending entries */
402 struct list_head wait_list; /* store on-flushing entries */
403 struct list_head fstrim_list; /* in-flight discard from fstrim */
404 wait_queue_head_t discard_wait_queue; /* waiting queue for wake-up */
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * fs/f2fs/f2fs.h
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 */
8#ifndef _LINUX_F2FS_H

--- 388 unchanged lines hidden (view full) ---

397
398struct discard_cmd_control {
399 struct task_struct *f2fs_issue_discard; /* discard thread */
400 struct list_head entry_list; /* 4KB discard entry list */
401 struct list_head pend_list[MAX_PLIST_NUM];/* store pending entries */
402 struct list_head wait_list; /* store on-flushing entries */
403 struct list_head fstrim_list; /* in-flight discard from fstrim */
404 wait_queue_head_t discard_wait_queue; /* waiting queue for wake-up */
405 unsigned int discard_wake; /* to wake up discard thread */
406 struct mutex cmd_lock;
407 unsigned int nr_discards; /* # of discards in the list */
408 unsigned int max_discards; /* max. discards to be issued */
409 unsigned int max_discard_request; /* max. discard request per round */
410 unsigned int min_discard_issue_time; /* min. interval between discard issue */
411 unsigned int mid_discard_issue_time; /* mid. interval between discard issue */
412 unsigned int max_discard_issue_time; /* max. interval between discard issue */
413 unsigned int discard_urgent_util; /* utilization which issue discard proactively */
414 unsigned int discard_granularity; /* discard granularity */
415 unsigned int max_ordered_discard; /* maximum discard granularity issued by lba order */
416 unsigned int undiscard_blks; /* # of undiscard blocks */
417 unsigned int next_pos; /* next discard position */
418 atomic_t issued_discard; /* # of issued discard */
419 atomic_t queued_discard; /* # of queued discard */
420 atomic_t discard_cmd_cnt; /* # of cached cmd count */
421 struct rb_root_cached root; /* root of discard rb-tree */
422 bool rbtree_check; /* config for consistence check */
405 struct mutex cmd_lock;
406 unsigned int nr_discards; /* # of discards in the list */
407 unsigned int max_discards; /* max. discards to be issued */
408 unsigned int max_discard_request; /* max. discard request per round */
409 unsigned int min_discard_issue_time; /* min. interval between discard issue */
410 unsigned int mid_discard_issue_time; /* mid. interval between discard issue */
411 unsigned int max_discard_issue_time; /* max. interval between discard issue */
412 unsigned int discard_urgent_util; /* utilization which issue discard proactively */
413 unsigned int discard_granularity; /* discard granularity */
414 unsigned int max_ordered_discard; /* maximum discard granularity issued by lba order */
415 unsigned int undiscard_blks; /* # of undiscard blocks */
416 unsigned int next_pos; /* next discard position */
417 atomic_t issued_discard; /* # of issued discard */
418 atomic_t queued_discard; /* # of queued discard */
419 atomic_t discard_cmd_cnt; /* # of cached cmd count */
420 struct rb_root_cached root; /* root of discard rb-tree */
421 bool rbtree_check; /* config for consistence check */
422 bool discard_wake; /* to wake up discard thread */
423};
424
425/* for the list of fsync inodes, used only during recovery */
426struct fsync_inode_entry {
427 struct list_head list; /* list head */
428 struct inode *inode; /* vfs inode pointer */
429 block_t blkaddr; /* block address locating the last fsync */
430 block_t last_dentry; /* block address locating the last dentry */

--- 4139 unchanged lines hidden ---
423};
424
425/* for the list of fsync inodes, used only during recovery */
426struct fsync_inode_entry {
427 struct list_head list; /* list head */
428 struct inode *inode; /* vfs inode pointer */
429 block_t blkaddr; /* block address locating the last fsync */
430 block_t last_dentry; /* block address locating the last dentry */

--- 4139 unchanged lines hidden ---