Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 7 files:
- fs/f2fs/data.c
- fs/f2fs/dir.c, line 579
- fs/f2fs/file.c, line 808
- fs/f2fs/inline.c
- fs/f2fs/inode.c
- fs/f2fs/node.c
- fs/f2fs/xattr.c
Smatch caller information:
fs/f2fs/inode.c do_read_inode() -> f2fs_get_inode_folio()
| 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->root_ino_num | 1 |
| CAPPED_DATA | 1 | ino | 1 |
| CAPPED_DATA | 1 | ino | 1 |
| PARAM_COMPARE | 1 | ino | >= $0->root_ino_num |
| PARAM_COMPARE | 1 | ino | >= $0->root_ino_num |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | ino | 1-u32max[c] |
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem |
fs/f2fs/inode.c f2fs_update_inode_page() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| NOSPEC | 1 | ino | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | ino | 0-u64max |
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem |
fs/f2fs/data.c __find_data_block() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_rwsem |
fs/f2fs/data.c __reserve_data_block() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->node_change.read_waiters.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->node_change.read_waiters.head.prev->next->next | 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 |
| LOCK2 | 0 | &sbi->node_change.internal_rwsem | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/data.c prepare_write_begin() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->cp_rwsem.internal_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | sbi->cp_rwsem.internal_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | sbi->gc_lock.internal_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | sbi->meta_inode->i_sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | sbi->node_change.internal_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | sbi->node_change.internal_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | sbi->node_inode->i_sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648 |
| 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 | &inode->i_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->node_change.internal_rwsem |
fs/f2fs/xattr.c read_inline_xattr() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | ino | 0-u64max |
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem |
fs/f2fs/xattr.c write_all_xattrs() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 1 | ino | |
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem |
fs/f2fs/inline.c f2fs_add_inline_entry() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/inline.c f2fs_convert_inline_inode() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->cp_rwsem.sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->sb | 4096-ptr_max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 0 | sbi->s_ndevs | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &src->i_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/inline.c f2fs_empty_inline_dir() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/inline.c f2fs_find_in_inline_dir() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem |
fs/f2fs/inline.c f2fs_inline_data_fiemap() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| LOCK2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/inline.c f2fs_inline_data_fiemap() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | ino | 0-4294967294 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | ino | 1 |
| CAPPED_DATA | 1 | ino | 1 |
| LOCK2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/inline.c f2fs_read_inline_data() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mapping->invalidate_lock |
fs/f2fs/inline.c f2fs_read_inline_dir() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dir_fp->readdir_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/inline.c f2fs_recover_inline_data() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi->current_reserved_blocks | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->discard_blks | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->nm_info->available_nids | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->nm_info->dirty_nats_ratio | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->nm_info->max_nid | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->nm_info->max_rf_node_blocks | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_bits_blocks | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_blkaddr | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_blocks | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->nm_info->next_scan_nid | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->nm_info->ra_nid_pages | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->nm_info->ram_thresh | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->total_valid_block_count | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->unusable_block_count | 0-4294967295 |
| PARAM_VALUE | 1 | ino | 0-u32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | ino | 1 |
| CAPPED_DATA | 1 | ino | 1 |
| NO_OVERFLOW_SIMPLE | 1 | ino | |
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/inline.c f2fs_recover_inline_data() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | ino | 0-u32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | ino | 1 |
| CAPPED_DATA | 1 | ino | 1 |
| NO_OVERFLOW_SIMPLE | 1 | ino | |
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/inline.c f2fs_try_convert_inline_dir() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->cp_rwsem.sbi | 4096-ptr_max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/inline.c f2fs_write_inline_data() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sbi | unit_byte |
fs/f2fs/file.c f2fs_do_truncate_blocks() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 1 | ino | |
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem |
fs/f2fs/dir.c f2fs_init_inode_metadata() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 1 | ino | |
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/node.c f2fs_get_dnode_of_data() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | ino | 0-u32max |
| 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_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &src_inode->i_rwsem |
fs/f2fs/node.c f2fs_recover_inline_xattr() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | ino | 0-u32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | ino | 1 |
| CAPPED_DATA | 1 | ino | 1 |
| NO_OVERFLOW_SIMPLE | 1 | ino | |
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/node.c f2fs_truncate_inode_blocks() -> f2fs_get_inode_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | ino | 0-4294967294 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 1 | ino | |
| UNITS | 0 | sbi | unit_byte |
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem |