Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
Smatch caller information:
fs/f2fs/gc.c sec_usage_check() -> f2fs_target_device_index()
| 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 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| 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 dirty_seglist_info)->seglist_lock |
fs/f2fs/segment.c __f2fs_issue_discard_zone() -> f2fs_target_device_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->s_ndevs | 2-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | blkaddr | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| UNITS | 1 | blkaddr | unit_page |
| HALF_LOCKED2 | 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 |
fs/f2fs/segment.c __queue_discard_cmd() -> f2fs_target_device_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->s_ndevs | 2-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | blkaddr | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| UNITS | 1 | blkaddr | unit_page |
| HALF_LOCKED2 | 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 |
fs/f2fs/segment.c f2fs_is_sequential_zone_area() -> f2fs_target_device_index()
| 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 | 1 | blkaddr | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &free_i->segmap_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->io_order_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->pin_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->umount_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 free_segmap_info)->segmap_lock |
fs/f2fs/segment.c f2fs_update_device_state() -> f2fs_target_device_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->s_ndevs | 2-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 0 | sbi->s_ndevs | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | blkaddr | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| UNITS | 1 | blkaddr | unit_page |
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem |
fs/f2fs/segment.c get_new_segment() -> f2fs_target_device_index()
| 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 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &free_i->segmap_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->io_order_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->pin_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->umount_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 free_segmap_info)->segmap_lock |
fs/f2fs/segment.c get_new_segment() -> f2fs_target_device_index()
| 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 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &free_i->segmap_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->io_order_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->pin_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->umount_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 free_segmap_info)->segmap_lock |
fs/f2fs/segment.c is_next_segment_free() -> f2fs_target_device_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 0 | sbi->blocks_per_seg | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &curseg->curseg_mutex | ||
| LOCK2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->io_order_lock.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->io_order_lock.internal_rwsem | |
| TYPE_LOCK | (struct curseg_info)->curseg_mutex | ||
| TYPE_LOCK | (struct sit_info)->sentry_lock |
fs/f2fs/segment.c sec_usage_check() -> f2fs_target_device_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| DATA_SOURCE | 0 | sbi | $0 |
fs/f2fs/data.c f2fs_is_sequential_zone_area() -> f2fs_target_device_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | blkaddr | $1 |
| CAPABLE | 0 | 21 | |
| UNITS | 0 | sbi | unit_byte |
| UNITS | 1 | blkaddr | unit_page |
| LOCK2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/data.c f2fs_map_blocks_cached() -> f2fs_target_device_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->s_ndevs | 2-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| UNITS | 0 | sbi | unit_byte |
| UNITS | 1 | blkaddr | unit_page |
fs/f2fs/data.c is_end_zone_blkaddr() -> f2fs_target_device_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->s_ndevs | 2-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | blkaddr | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| UNITS | 1 | blkaddr | unit_page |
| LOCK2 | &io->io_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/file.c f2fs_ioc_reserve_dev_alias() -> f2fs_target_device_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->s_ndevs | 2-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPABLE | 0 | 21 | |
| PREEMPT_ADD | <- disables preempt | ||
| UNITS | 0 | sbi | unit_byte |
| UNITS | 1 | blkaddr | unit_page |
| LOCK2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |