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 |