Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

fs/f2fs/gc.c f2fs_used_in_atomic_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode (-1)-s32max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
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_mark_inode_dirty_sync() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0

fs/f2fs/inode.c f2fs_update_inode() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode->i_fop (-1),272
BUF_SIZE 0 inode->i_link (-1),1-255
BUF_SIZE 0 inode->i_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_op (-1),256
BUF_SIZE 0 inode->i_sb (-1),80,2816
DATA_SOURCE 0 inode $0
STR_LEN 0 inode (-1)-1,23-24
STR_LEN 0 inode (-1)-1,23-24
STR_LEN 0 inode->i_sb (-1),8
NOSPEC 0 inode->i_bytes
NOSPEC 0 inode->i_ino
NOSPEC 0 inode->i_mode
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_blocks 0-18014398515341359,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-65023[c]
USER_DATA 0 inode->i_ino 0-4294967294[c]
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_rdev 0-u32max[c]
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_data.host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_linklen
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 0 &inode->i_rwsem

fs/f2fs/segment.c f2fs_abort_atomic_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_linklen
NO_OVERFLOW_SIMPLE 0 inode->i_size
HALF_LOCKED2 0 &inode->i_rwsem

fs/f2fs/segment.c f2fs_i_size_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_mapping 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_linklen
NO_OVERFLOW_SIMPLE 0 inode->i_size
HALF_LOCKED2 0 &inode->i_rwsem

fs/f2fs/segment.c f2fs_used_in_atomic_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode (-1),1-s32max
DATA_SOURCE 0 inode $0
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_bytes 0-65023[c]
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-2),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 0 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 0 &inode->i_rwsem

fs/f2fs/recovery.c f2fs_i_size_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 0 inode $0
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_size
LOCK2 &sbi->cp_global_sem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/data.c f2fs_do_write_data_page() -> f2fs_is_atomic_file()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 &sbi->gc_lock.internal_rwsem

fs/f2fs/data.c f2fs_i_size_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_fop (-1),272
BUF_SIZE 0 inode->i_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_op (-1),256
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 0 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 0 &inode->i_rwsem

fs/f2fs/data.c f2fs_used_in_atomic_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 0 &inode->i_rwsem

fs/f2fs/data.c f2fs_write_begin() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

fs/f2fs/data.c f2fs_write_begin() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

fs/f2fs/data.c f2fs_write_end() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

fs/f2fs/data.c f2fs_write_end() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
HALF_LOCKED2 &inode->i_rwsem

fs/f2fs/inline.c f2fs_i_size_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_fop (-1),272
BUF_SIZE 0 inode->i_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_op (-1),256
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_data.host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 inode->i_size
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/inline.c f2fs_used_in_atomic_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode->i_sb (-1),2816
DATA_SOURCE 0 inode $0
STR_LEN 0 inode->i_sb (-1),8
NOSPEC 0 inode->i_ino
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_ino 0-4294967294[c]
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-(-2),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 0 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 0 &inode->i_rwsem

fs/f2fs/verity.c f2fs_begin_enable_verity() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/file.c f2fs_dio_read_iter() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

fs/f2fs/file.c f2fs_file_write_iter() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_flags 0,4096-u32max
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/file.c f2fs_i_size_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_blocks 0-36028797024823342,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-65023[c]
USER_DATA 0 inode->i_size 0-s64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_size
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 &src->i_rwsem
HALF_LOCKED2 &src_inode->i_rwsem
HALF_LOCKED2 0 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/file.c f2fs_ioc_commit_atomic_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
LOCK2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/file.c f2fs_ioc_start_atomic_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
LOCK2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/file.c f2fs_keep_noreuse_range() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/file.c f2fs_may_compress() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
BIT_INFO 0 inode->i_flags 0x0,0xfffffedf
RX_PATH
TASK_NOT_RUNNING
LOCK2 &fi->i_sem.internal_rwsem
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/file.c f2fs_sec_trim_file() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
LOCK2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/dir.c f2fs_i_size_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode (-1),1-s32max
CAPPED_DATA 0 inode->i_sb 1
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/super.c f2fs_i_size_write() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0

fs/f2fs/super.c f2fs_inode_dirtied() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0

fs/f2fs/compress.c cluster_may_compress() -> f2fs_is_atomic_file()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mapping->invalidate_lock
HALF_LOCKED2 &sbi->writepages