Defined in 1 files as a function:
Referenced in 3 files:
Smatch caller information:
fs/f2fs/gc.c add_victim_entry() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/gc.c atgc_lookup_victim() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/gc.c do_garbage_collect() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem |
fs/f2fs/gc.c do_garbage_collect() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem |
fs/f2fs/gc.c f2fs_gc_range() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/gc.c f2fs_gc_range() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| CAPABLE | 0 | 21 | |
| RX_PATH | |||
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/gc.c f2fs_gc_range() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| LOCK2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/gc.c f2fs_get_victim() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| LOCK2 | &sit_i->sentry_lock | ||
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct sit_info)->sentry_lock |
fs/f2fs/gc.c f2fs_get_victim() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/gc.c gc_data_segment() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/gc.c get_cb_cost() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/gc.c get_gc_cost() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/gc.c get_gc_cost() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/segment.c __allocate_new_segment() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 2 | use_section | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/segment.c __f2fs_restore_inmem_curseg() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->segs_per_sec | 0-s32max |
| PARAM_VALUE | 2 | use_section | 0 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| CAPPED_DATA | 0 | sbi->s_ndevs | 1 |
| CAPPED_DATA | 0 | sbi->sb | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &curseg->curseg_mutex | ||
| LOCK2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct curseg_info)->curseg_mutex | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/segment.c __f2fs_save_inmem_curseg() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->segs_per_sec | 0-s32max |
| PARAM_VALUE | 2 | use_section | 0 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| CAPPED_DATA | 0 | sbi->sb | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &curseg->curseg_mutex | ||
| LOCK2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct curseg_info)->curseg_mutex | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/segment.c __locate_dirty_segment() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->segs_per_sec | 2-u32max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | $1 |
| FUZZY_MAX | 0 | sbi->segs_per_sec | 2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | sbi->total_sections | |
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->node_write.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/segment.c __remove_dirty_segment() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->node_write.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/segment.c check_zone_write_pointer() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 1 |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem |
fs/f2fs/segment.c f2fs_clear_prefree_segments() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->segs_per_sec | 0-s32max |
| PARAM_VALUE | 1 | segno | 0-2147483646 |
| PARAM_VALUE | 2 | use_section | 1 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| CAPPED_DATA | 0 | sbi->sb | 1 |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| FUZZY_MAX | 0 | sbi->segs_per_sec | 2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| LOCK2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/segment.c f2fs_dirty_to_prefree() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-64 |
| PARAM_VALUE | 2 | use_section | 0 |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | r find_next_bit |
| LOCK2 | &dirty_i->seglist_lock | ||
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/segment.c get_free_segment() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-64 |
| PARAM_VALUE | 2 | use_section | 0 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | r find_next_bit |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &curseg->curseg_mutex | ||
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->umount_mutex | |
| TYPE_LOCK | (struct curseg_info)->curseg_mutex | ||
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/segment.c init_dirty_segmap() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->sm_info | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-64 |
| PARAM_VALUE | 2 | use_section | 0 |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | r find_next_inuse |
fs/f2fs/segment.c init_dirty_segmap() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->segs_per_sec | 2-u32max |
| PARAM_VALUE | 0 | sbi->sm_info | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0,2-4294967294 |
| PARAM_VALUE | 2 | use_section | 1 |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| FUZZY_MAX | 0 | sbi->segs_per_sec | 2 |
| LOCK2 | &dirty_i->seglist_lock | ||
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/segment.c locate_dirty_segment() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 0 |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | segno | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->node_write.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
fs/f2fs/debug.c f2fs_update_sit_info() -> get_valid_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | segno | 0-4294967294 |
| PARAM_VALUE | 2 | use_section | 1 |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &s->lock | ||
| HALF_LOCKED2 | global &f2fs_stat_lock |