Defined in 1 files as a function:
Referenced in 5 files:
- fs/f2fs/data.c, line 3947
- fs/f2fs/file.c
- fs/f2fs/gc.c
- fs/f2fs/segment.c, line 950
- fs/f2fs/segment.h, line 699
Smatch caller information:
fs/f2fs/gc.c f2fs_gc() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| BIT_INFO | 0 | sbi->sb->s_flags | 0x40000000,0xffffffffffffffff |
| 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_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/gc.c gc_data_segment() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 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 | 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 gc_node_segment() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 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 | 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 has_enough_free_secs() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0-s32max |
| PARAM_VALUE | 2 | needed | 0,6 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | freed | $1 |
| DATA_SOURCE | 2 | needed | $2 |
| HARD_MAX | 2 | needed | 6 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| HALF_LOCKED2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | 0 | &sbi->pin_sem.internal_rwsem |
fs/f2fs/inode.c has_enough_free_secs() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | freed | $1 |
| DATA_SOURCE | 2 | needed | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem |
fs/f2fs/segment.c f2fs_disable_cp_again() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 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 |
| HALF_LOCKED2 | &fc->uapi_mutex | ||
| HALF_LOCKED2 | &sb->s_umount | ||
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem |
fs/f2fs/segment.c has_enough_free_secs() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | freed | $1 |
| DATA_SOURCE | 2 | needed | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem |
fs/f2fs/data.c f2fs_write_begin() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->log_blocks_per_seg | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->segs_per_sec | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->unusable_blocks_per_sec | 0-4294967295 |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem |
fs/f2fs/data.c has_enough_free_secs() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | freed | $1 |
| DATA_SOURCE | 2 | needed | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &io->io_rwsem.internal_rwsem |
fs/f2fs/xattr.c has_enough_free_secs() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | freed | $1 |
| DATA_SOURCE | 2 | needed | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem |
fs/f2fs/namei.c has_enough_free_secs() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | freed | $1 |
| DATA_SOURCE | 2 | needed | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
fs/f2fs/file.c f2fs_expand_inode_data() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->log_blocks_per_seg | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->segs_per_sec | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->unusable_blocks_per_sec | 0-4294967295 |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/file.c f2fs_expand_inode_data() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->log_blocks_per_seg | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->segs_per_sec | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->unusable_blocks_per_sec | 0-4294967295 |
| PARAM_VALUE | 1 | freed | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | 0 | &sbi->pin_sem.internal_rwsem | |
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | 0 | &sbi->gc_lock.internal_rwsem | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/file.c has_enough_free_secs() -> has_not_enough_free_secs()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 1 | freed | 0 |
| PARAM_VALUE | 2 | needed | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 1 | freed | $1 |
| DATA_SOURCE | 2 | needed | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem |