Defined in 1 files as a function:
Referenced in 8 files:
- fs/f2fs/f2fs.h, line 3257
- fs/f2fs/file.c, line 847
- fs/f2fs/gc.c, line 1177
- fs/f2fs/inline.c, line 311
- fs/f2fs/inode.c, line 128
- fs/f2fs/node.c
- fs/f2fs/recovery.c
- include/linux/f2fs_fs.h, line 276
Smatch caller information:
fs/f2fs/gc.c get_dnode_base() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->pin_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/gc.c is_alive() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | r f2fs_get_node_folio |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->pin_sem.internal_rwsem |
fs/f2fs/inode.c f2fs_enable_inode_chksum() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| BUF_SIZE | 0 | folio | (-1)-s32max |
| BUF_SIZE | 0 | folio | (-1)-s32max |
| CAPPED_DATA | 0 | folio | 1 |
| DATA_SOURCE | 0 | folio | $1 |
| NOSPEC | 0 | folio->mapping->writeback_index | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | folio->index | 0-4503599627370495[c] |
| USER_DATA | 0 | folio->mapping->writeback_index | 0-524287[c] |
| NO_OVERFLOW_SIMPLE | 0 | folio->mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | folio->mapping->host->i_size | |
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &folio->private->lock |
fs/f2fs/inode.c get_dnode_base() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | folio->mapping->writeback_index | 0-524287[c] |
| HALF_LOCKED2 | &inode->i_rwsem |
fs/f2fs/segment.c __f2fs_commit_atomic_write() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/segment.c get_dnode_base() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | $1 |
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/recovery.c check_index_in_prev_nodes() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/recovery.c do_recover_data() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | $2 |
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/recovery.c do_recover_data() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | $2 |
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/recovery.c find_fsync_dnodes() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | r f2fs_get_tmp_folio |
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/recovery.c find_fsync_dnodes() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | r f2fs_get_tmp_folio |
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/recovery.c get_dnode_base() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | $1 |
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/recovery.c recover_data() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | r f2fs_get_tmp_folio |
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/data.c get_dnode_base() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/f2fs/inline.c f2fs_recover_inline_data() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | $1 |
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/inline.c get_dnode_base() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | folio->mapping->writeback_index | 0-524287[c] |
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem |
fs/f2fs/file.c __clone_blkaddrs() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &dst_inode->i_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| LOCK2 | &src_inode->i_rwsem | ||
| HALF_LOCKED2 | &dst_inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &src_inode->i_mapping->invalidate_lock | ||
| TYPE_LOCK | (struct address_space)->invalidate_lock | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/file.c __read_out_blkaddrs() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &dst_inode->i_rwsem | ||
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &dst_inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct address_space)->invalidate_lock | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/file.c f2fs_do_truncate_blocks() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem |
fs/f2fs/file.c f2fs_do_truncate_blocks() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem |
fs/f2fs/file.c f2fs_release_compress_blocks() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &inode->i_mapping->invalidate_lock | ||
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct address_space)->invalidate_lock | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/file.c f2fs_reserve_compress_blocks() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &inode->i_mapping->invalidate_lock | ||
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct address_space)->invalidate_lock | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/file.c f2fs_sec_trim_file() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | &mapping->invalidate_lock | ||
| TYPE_LOCK | (struct address_space)->invalidate_lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/file.c f2fs_seek_block() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/file.c f2fs_truncate_hole() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/file.c get_dnode_base() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem |
fs/f2fs/dir.c get_dnode_base() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | $1 |
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/node.c __write_node_folio() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| CAPPED_DATA | 0 | folio | 1 |
| CAPPED_DATA | 0 | folio->index | 1 |
| DATA_SOURCE | 0 | folio | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &sbi->node_write.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/node.c f2fs_dirty_node_folio() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| BUF_SIZE | 0 | folio | (-1)-s32max |
| BUF_SIZE | 0 | folio | (-1)-s32max |
| DATA_SOURCE | 0 | folio | $1 |
| NOSPEC | 0 | folio->mapping->writeback_index | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | folio->mapping->writeback_index | 0-524287[c] |
| NO_OVERFLOW_SIMPLE | 0 | folio->index | |
| NO_OVERFLOW_SIMPLE | 0 | folio->mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | folio->mapping->host->i_size | |
| HALF_LOCKED2 | &((&xas)->xa)->xa_lock | ||
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &ip->i_rw_mutex | ||
| HALF_LOCKED2 | &log_ni->runlist.lock | ||
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | &mft_ni->mrec_lock | ||
| HALF_LOCKED2 | &mftbmp_ni->runlist.lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &ni->file.run_lock | ||
| HALF_LOCKED2 | &ni->ni_lock | ||
| HALF_LOCKED2 | &nm_i->nat_tree_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->pin_sem.internal_rwsem | ||
| HALF_LOCKED2 | &session->mutex | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | &src_inode->i_rwsem | ||
| HALF_LOCKED2 | &vol->lcnbmp_lock | ||
| HALF_LOCKED2 | &vol->mftbmp_lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &ksm_thread_mutex | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | ptl | ||
| HALF_LOCKED2 | 0 | &folio->private->lock |
fs/f2fs/node.c f2fs_flush_inline_data() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->pin_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->umount_mutex | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/node.c f2fs_fsync_node_pages() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| CAPPED_DATA | 0 | folio | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_rwsem |
fs/f2fs/node.c f2fs_sanity_check_node_footer() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| CAPPED_DATA | 0 | folio | 1 |
| DATA_SOURCE | 0 | folio | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | folio->mapping->writeback_index | 0-524287[c] |
fs/f2fs/node.c f2fs_sync_node_pages() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| CAPPED_DATA | 0 | folio->mapping | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->node_change.internal_rwsem |
fs/f2fs/node.c get_dnode_base() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| 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 truncate_dnode() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | r f2fs_get_node_folio |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/f2fs/compress.c get_dnode_base() -> IS_INODE()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |