Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/f2fs/segment.c add_discard_addrs() -> f2fs_block_unit_discard()

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
CAPPED_DATA 0 sbi->sb 1
DATA_SOURCE 0 sbi $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sbi unit_byte
LOCK2 0 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 &sit_i->sentry_lock
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 f2fs_rwsem)->internal_rwsem

fs/f2fs/segment.c build_sit_entries() -> f2fs_block_unit_discard()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
CAPPED_DATA 0 sbi->blocks_per_seg 1
DATA_SOURCE 0 sbi $0
NO_OVERFLOW_SIMPLE 0 sbi->total_sections

fs/f2fs/segment.c build_sit_entries() -> f2fs_block_unit_discard()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
CAPPED_DATA 0 sbi->blocks_per_seg 1
DATA_SOURCE 0 sbi $0
NO_OVERFLOW_SIMPLE 0 sbi->total_sections
LOCK2 &curseg->journal_rwsem
TYPE_LOCK (struct curseg_info)->journal_rwsem

fs/f2fs/segment.c build_sit_info() -> f2fs_block_unit_discard()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
DATA_SOURCE 0 sbi $0

fs/f2fs/segment.c f2fs_clear_prefree_segments() -> f2fs_block_unit_discard()

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
CAPPED_DATA 0 sbi->sb 1
DATA_SOURCE 0 sbi $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sbi unit_byte
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 f2fs_rwsem)->internal_rwsem

fs/f2fs/segment.c f2fs_issue_discard() -> f2fs_block_unit_discard()

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
CAPPED_DATA 0 sbi->sb 1
DATA_SOURCE 0 sbi $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sbi unit_byte
LOCK2 0 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 &dirty_i->seglist_lock
HALF_LOCKED2 &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 f2fs_rwsem)->internal_rwsem

fs/f2fs/segment.c update_sit_entry_for_alloc() -> f2fs_block_unit_discard()

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 &sit_i->sentry_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->io_order_lock.internal_rwsem
HALF_LOCKED2 0 &sbi->node_write.internal_rwsem
TYPE_LOCK (struct sit_info)->sentry_lock

fs/f2fs/segment.c update_sit_entry_for_release() -> f2fs_block_unit_discard()

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 &sit_i->sentry_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->io_order_lock.internal_rwsem
HALF_LOCKED2 0 &sbi->node_write.internal_rwsem
TYPE_LOCK (struct sit_info)->sentry_lock

fs/f2fs/sysfs.c __sbi_store() -> f2fs_block_unit_discard()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
DATA_SOURCE 0 sbi $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &sbi->sb->s_umount
TYPE_LOCK (struct kernfs_open_file)->mutex

fs/f2fs/sysfs.c __sbi_store() -> f2fs_block_unit_discard()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
DATA_SOURCE 0 sbi $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &sbi->sb->s_umount
TYPE_LOCK (struct kernfs_open_file)->mutex

fs/f2fs/sysfs.c __sbi_store() -> f2fs_block_unit_discard()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
DATA_SOURCE 0 sbi $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &sbi->sb->s_umount
TYPE_LOCK (struct kernfs_open_file)->mutex

fs/f2fs/super.c __f2fs_remount() -> f2fs_block_unit_discard()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sbi unit_byte
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 &sb->s_umount

fs/f2fs/super.c __f2fs_remount() -> f2fs_block_unit_discard()

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->s_error_work 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 sbi->sb->s_bdev->bd_mapping->host->i_bytes
UNITS 0 sbi unit_byte
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 &sb->s_umount

fs/f2fs/super.c f2fs_tuning_parameters() -> f2fs_block_unit_discard()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
DATA_SOURCE 0 sbi $0