Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/ceph/caps.c try_get_cap_refs() -> __ceph_caps_mds_wanted()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->i_auth_cap 0,4096-ptr_max
PARAM_VALUE 0 ci->i_caps.rb_node 0,4096-ptr_max
PARAM_VALUE 0 ci->i_ceph_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ci->i_truncate_pending 0
PARAM_VALUE 0 ci->netfs.inode.i_sb 4096-ptr_max
PARAM_VALUE 1 check 0
DATA_SOURCE 0 ci r ceph_inode
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ci->i_ceph_lock
HALF_LOCKED2 &mdsc->snap_rwsem
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

fs/ceph/file.c ceph_open() -> __ceph_caps_mds_wanted()

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 1 check 1
DATA_SOURCE 0 ci r ceph_inode
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ci->i_ceph_lock
HALF_LOCKED2 &dentry->d_lockref.lock
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock