Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/f2fs/node.c __flush_nat_entry_set() -> update_free_nid_bitmap()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->nm_info 4096-ptr_max
PARAM_VALUE 2 set 0
PARAM_VALUE 3 build 0
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
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 sbi unit_byte
UNITS 1 nid unit_byte
LOCK2 &nm_i->nat_tree_lock.internal_rwsem
LOCK2 0 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 &curseg->journal_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/node.c add_free_nid() -> update_free_nid_bitmap()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->nm_info 4096-ptr_max
PARAM_VALUE 1 nid 1-4294967294
BUF_SIZE 0 sbi (-1),1-s32max
BUF_SIZE 0 sbi (-1),1-s32max
BUF_SIZE 0 sbi->nm_info (-1),992
CAPPED_DATA 0 sbi->root_ino_num 1
CAPPED_DATA 1 nid 1
DATA_SOURCE 0 sbi $0
DATA_SOURCE 1 nid $1
DATA_SOURCE 3 build $2
STR_LEN 0 sbi->sb (-1)
PARAM_COMPARE 1 nid >= $0->root_ino_num
NOSPEC 0 sbi->meta_inode->i_ino
NOSPEC 0 sbi->node_inode->i_ino
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 sbi->meta_inode->__i_nlink 1-u32max
USER_DATA 0 sbi->meta_inode->i_ino 0-u32max
USER_DATA 0 sbi->meta_inode->i_sb->s_flags 0-2147550208[c]
USER_DATA 0 sbi->node_inode->__i_nlink 1-u32max
USER_DATA 0 sbi->node_inode->i_ino 0-u32max
USER_DATA 0 sbi->node_inode->i_sb->s_flags 0-2147550208[c]
USER_DATA 0 sbi->sb->s_flags 0-2181237759[c]
NO_OVERFLOW_SIMPLE 0 sbi->compress_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 sbi->compress_inode->i_bytes
NO_OVERFLOW_SIMPLE 0 sbi->compress_inode->i_size
NO_OVERFLOW_SIMPLE 0 sbi->cp_global_sem.sbi->total_sections
NO_OVERFLOW_SIMPLE 0 sbi->cp_rwsem.sbi->total_sections
NO_OVERFLOW_SIMPLE 0 sbi->gc_lock.sbi->total_sections
NO_OVERFLOW_SIMPLE 0 sbi->meta_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 sbi->meta_inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 sbi->meta_inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 sbi->meta_inode->i_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 sbi->meta_inode->i_size
NO_OVERFLOW_SIMPLE 0 sbi->node_change.sbi->total_sections
NO_OVERFLOW_SIMPLE 0 sbi->node_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 sbi->node_inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 sbi->node_inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 sbi->node_inode->i_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 sbi->node_inode->i_size
NO_OVERFLOW_SIMPLE 0 sbi->node_write.sbi->total_sections
NO_OVERFLOW_SIMPLE 0 sbi->total_sections
UNITS 0 sbi unit_byte
UNITS 1 nid unit_byte
LOCK2 &nm_i->nat_tree_lock.internal_rwsem
LOCK2 &nm_i->nid_list_lock
HALF_LOCKED2 0 &sbi->cp_global_sem.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_nm_info)->nid_list_lock
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/node.c f2fs_alloc_nid() -> update_free_nid_bitmap()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 1 nid 0-4294967294
PARAM_VALUE 2 set 0
PARAM_VALUE 3 build 0
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
CAPPED_DATA 0 sbi->root_ino_num 1
CAPPED_DATA 1 nid 1
DATA_SOURCE 0 sbi $0
PARAM_COMPARE 1 nid >= $0->root_ino_num
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 sbi unit_byte
UNITS 1 nid unit_byte
LOCK2 &nm_i->nid_list_lock
TYPE_LOCK (struct f2fs_nm_info)->nid_list_lock

fs/f2fs/node.c f2fs_alloc_nid_failed() -> update_free_nid_bitmap()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->nm_info 4096-ptr_max
PARAM_VALUE 1 nid 1-u32max
PARAM_VALUE 2 set 1
PARAM_VALUE 3 build 0
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
DATA_SOURCE 0 sbi $0
DATA_SOURCE 1 nid $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 sbi unit_byte
UNITS 1 nid unit_byte
LOCK2 &nm_i->nid_list_lock
TYPE_LOCK (struct f2fs_nm_info)->nid_list_lock

fs/f2fs/node.c load_free_nid_bitmap() -> update_free_nid_bitmap()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->nm_info 4096-ptr_max
PARAM_VALUE 0 sbi->nm_info->free_nid_bitmap 0,16,4096-ptr_max
PARAM_VALUE 0 sbi->nm_info->free_nid_count 0,16,4096-ptr_max
PARAM_VALUE 0 sbi->nm_info->nat_block_bitmap 4096-ptr_max
PARAM_VALUE 1 nid 0-29120
PARAM_VALUE 2 set 1
PARAM_VALUE 3 build 1
BUF_SIZE 0 sbi->nm_info 992
CAPPED_DATA 0 sbi->nm_info->nat_blocks 1
CAPPED_DATA 1 nid 1
DATA_SOURCE 0 sbi $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

fs/f2fs/node.c scan_nat_page() -> update_free_nid_bitmap()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->nm_info 4096-ptr_max
PARAM_VALUE 1 nid 0-4294967294
PARAM_VALUE 2 set 0
PARAM_VALUE 3 build 1
BUF_SIZE 0 sbi (-1),1-s32max
BUF_SIZE 0 sbi (-1),1-s32max
BUF_SIZE 0 sbi->nm_info (-1),992
CAPPED_DATA 1 nid 1
DATA_SOURCE 0 sbi $0
DATA_SOURCE 1 nid $2 [m]
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 sbi unit_byte
UNITS 1 nid unit_byte
LOCK2 &nm_i->nat_tree_lock.internal_rwsem
HALF_LOCKED2 0 &sbi->gc_lock.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem