Defined in 1 files as a function:

Referenced in 8 files:

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