Defined in 1 files as a function:

Referenced in 5 files:

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