Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/ceph/caps.c __ceph_put_cap_refs() -> ceph_try_drop_cap_snap()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->i_ceph_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 ci->netfs.inode.i_sb 4096-ptr_max
PARAM_VALUE 0 ci->netfs.inode.i_sb->s_cop->empty_dir 0,86,4096-ptr_max
PARAM_VALUE 0 ci->netfs.inode.i_sb->s_cop->get_context 0,706,4096-ptr_max
PARAM_VALUE 0 ci->netfs.inode.i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2704,2712
PARAM_VALUE 0 ci->netfs.inode.i_sb->s_cop->set_context 0,67,4096-ptr_max
PARAM_VALUE 0 ci->netfs.inode.i_sb->s_export_op->encode_fh 0,2,4096-ptr_max
PARAM_VALUE 1 capsnap 4096-ptr_max
PARAM_VALUE 1 capsnap->writing 0
DATA_SOURCE 0 ci $0
PARAM_COMPARE 0 &ci->i_cap_snaps != $0->i_cap_snaps.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ci->i_ceph_lock
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

fs/ceph/caps.c ceph_put_wrbuffer_cap_refs() -> ceph_try_drop_cap_snap()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->i_ceph_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ci->netfs.inode.i_sb 4096-ptr_max
PARAM_VALUE 1 capsnap 4096-ptr_max
PARAM_VALUE 1 capsnap->dirty_pages 0
PARAM_VALUE 1 capsnap->writing 0
CAPPED_DATA 0 &ci->i_cap_snaps 1
DATA_SOURCE 0 ci $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ci->i_ceph_lock
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock