Defined in 1 files as a function:
Referenced in 7 files:
- fs/f2fs/checkpoint.c, line 1380
- fs/f2fs/debug.c, line 206
- fs/f2fs/gc.c
- fs/f2fs/segment.c
- fs/f2fs/segment.h
- fs/f2fs/super.c
- fs/f2fs/sysfs.c, line 602
Smatch caller information:
fs/f2fs/gc.c f2fs_resize_fs() -> valid_user_blocks()
| 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 | r F2FS_I_SB |
| CAPABLE | 0 | 21 | |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| LOCK2 | 0 | &sbi->stat_lock | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_sb_info)->stat_lock |
fs/f2fs/gc.c f2fs_resize_fs() -> valid_user_blocks()
| 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 | r F2FS_I_SB |
| CAPABLE | 0 | 21 | |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| LOCK2 | 0 | &sbi->gc_lock.internal_rwsem | |
| LOCK2 | 0 | &sbi->stat_lock | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_sb_info)->stat_lock |
fs/f2fs/inode.c has_enough_free_blks() -> valid_user_blocks()
| 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 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->stat_lock | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct f2fs_sb_info)->stat_lock |
fs/f2fs/segment.c build_sit_entries() -> valid_user_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| CAPPED_DATA | 0 | sbi->segs_per_sec | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| NO_OVERFLOW_SIMPLE | 0 | sbi->total_sections |
fs/f2fs/segment.c build_sit_entries() -> valid_user_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| CAPPED_DATA | 0 | sbi->segs_per_sec | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| NO_OVERFLOW_SIMPLE | 0 | sbi->total_sections |
fs/f2fs/segment.c utilization() -> valid_user_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| BUF_SIZE | 0 | sbi | 128 |
| BUF_SIZE | 0 | sbi | 128 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | sbi->compress_inode->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | sbi->compress_inode->i_mapping->host->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | sbi->compress_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | sbi->meta_inode->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | sbi->meta_inode->i_mapping->host->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | sbi->meta_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | sbi->node_inode->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | sbi->node_inode->i_mapping->host->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | sbi->node_inode->i_size |
fs/f2fs/debug.c update_general_status() -> valid_user_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| DATA_SOURCE | 0 | sbi | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &s->lock | ||
| LOCK2 | global &f2fs_stat_lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/f2fs/debug.c utilization() -> valid_user_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| DATA_SOURCE | 0 | sbi | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &s->lock | ||
| LOCK2 | global &f2fs_stat_lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/f2fs/checkpoint.c __prepare_cp_block() -> valid_user_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 |
| 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 | |
| LOCK2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| LOCK2 | 0 | &sbi->node_change.internal_rwsem | |
| LOCK2 | 0 | &sbi->node_write.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/data.c has_enough_free_blks() -> valid_user_blocks()
| 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 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->stat_lock | |
| HALF_LOCKED2 | &io->io_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_sb_info)->stat_lock |
fs/f2fs/data.c utilization() -> valid_user_blocks()
| 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 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &fio->sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem |
fs/f2fs/xattr.c has_enough_free_blks() -> valid_user_blocks()
| 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 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->stat_lock | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct f2fs_sb_info)->stat_lock |
fs/f2fs/sysfs.c __sbi_store() -> valid_user_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| DATA_SOURCE | 0 | sbi | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | 0 | &sbi->stat_lock | |
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | 0 | &sbi->sb->s_umount | |
| TYPE_LOCK | (struct f2fs_sb_info)->stat_lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
fs/f2fs/namei.c has_enough_free_blks() -> valid_user_blocks()
| 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 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->stat_lock | |
| TYPE_LOCK | (struct f2fs_sb_info)->stat_lock |
fs/f2fs/file.c has_enough_free_blks() -> valid_user_blocks()
| 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 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->stat_lock | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct f2fs_sb_info)->stat_lock |
fs/f2fs/super.c f2fs_statfs() -> valid_user_blocks()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->stat_lock | |
| HALF_LOCKED2 | &s->s_umount | ||
| TYPE_LOCK | (struct f2fs_sb_info)->stat_lock |