Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/ceph/mds_client.c ceph_mdsc_submit_request() -> ceph_take_cap_refs()

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 got 1
PARAM_VALUE 2 snap_rwsem_locked 0
DATA_SOURCE 0 ci r ceph_inode
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &ci->i_ceph_lock
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

fs/ceph/caps.c ceph_get_cap_refs() -> ceph_take_cap_refs()

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 got 1,2048,4096
PARAM_VALUE 2 snap_rwsem_locked 0
DATA_SOURCE 0 ci $0
DATA_SOURCE 1 got $1
FUZZY_MAX 1 got 4096
BIT_INFO 1 got 0x0,0x1801
HARD_MAX 1 got 4096
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &ci->i_ceph_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &mdsc->mutex
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

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

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 got 256,512-45056
PARAM_VALUE 2 snap_rwsem_locked 1
CAPPED_DATA 1 got 1
DATA_SOURCE 0 ci r ceph_inode
BIT_INFO 1 got 0x0,0xbfff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &ci->i_ceph_lock
HALF_LOCKED2 &mdsc->snap_rwsem
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

fs/ceph/dir.c get_caps_for_async_unlink() -> ceph_take_cap_refs()

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->netfs.inode.i_sb 4096-ptr_max
PARAM_VALUE 1 got 2560
PARAM_VALUE 2 snap_rwsem_locked 0
DATA_SOURCE 0 ci r ceph_inode
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &ci->i_ceph_lock
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &dn->d_lockref.lock
HALF_LOCKED2 &target->i_rwsem
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock
TYPE_LOCK (struct inode)->i_rwsem

fs/ceph/file.c try_prep_async_create() -> ceph_take_cap_refs()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->i_auth_cap 4096-ptr_max
PARAM_VALUE 0 ci->i_auth_cap->session 4096-ptr_max
PARAM_VALUE 0 ci->i_auth_cap->session->s_delegated_inos.xa_head 1-u64max
PARAM_VALUE 0 ci->i_auth_cap->session->s_delegated_inos.xa_lock.rlock.dep_map->name 0-255
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->netfs.inode.i_sb 4096-ptr_max
PARAM_VALUE 1 got 1536
PARAM_VALUE 2 snap_rwsem_locked 0
DATA_SOURCE 0 ci r ceph_inode
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &ci->i_ceph_lock
HALF_LOCKED2 &dn->d_lockref.lock
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock