Defined in 1 files as a function:
Referenced in 3 files:
Smatch caller information:
fs/ceph/snap.c ceph_queue_cap_snap() -> __ceph_caps_dirty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| DATA_SOURCE | 0 | ci | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &mdsc->snap_rwsem | ||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| HALF_LOCKED2 | &session->s_mutex | ||
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock | ||
| TYPE_LOCK | (struct ceph_mds_client)->snap_rwsem |
fs/ceph/caps.c ceph_drop_caps_for_unlink() -> __ceph_caps_dirty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| HALF_LOCKED2 | &target->i_rwsem | ||
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock |
fs/ceph/caps.c ceph_encode_inode_release() -> __ceph_caps_dirty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mdsc->mutex | ||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| HALF_LOCKED2 | &session->s_mutex | ||
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock | ||
| TYPE_LOCK | (struct ceph_mds_client)->mutex |
fs/ceph/caps.c ceph_write_inode() -> __ceph_caps_dirty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock |
fs/ceph/caps.c handle_cap_grant() -> __ceph_caps_dirty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| DATA_SOURCE | 0 | ci | r ceph_inode |
fs/ceph/caps.c handle_cap_import() -> __ceph_caps_dirty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| HALF_LOCKED2 | 0 | &ci->i_ceph_lock |
fs/ceph/caps.c handle_cap_trunc() -> __ceph_caps_dirty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| DATA_SOURCE | 0 | ci | r ceph_inode |
fs/ceph/inode.c ceph_fill_inode() -> __ceph_caps_dirty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| BUF_SIZE | 0 | ci->i_snapid_map | (-1),64 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mdsc->snap_rwsem | ||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| HALF_LOCKED2 | &req->r_fill_mutex | ||
| HALF_LOCKED2 | &session->s_mutex | ||
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock | ||
| TYPE_LOCK | (struct ceph_mds_client)->snap_rwsem |