Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 6 files:
- fs/ceph/caps.c, line 2957
- fs/ceph/dir.c
- fs/ceph/file.c
- fs/ceph/inode.c, line 1378
- fs/ceph/ioctl.c, line 261
- fs/ceph/mds_client.c, line 3876
Smatch caller information:
fs/ceph/mds_client.c ceph_mdsc_submit_request() -> __ceph_touch_fmode()
| 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 | mdsc | 4096-ptr_max |
| PARAM_VALUE | 1 | mdsc->fsc | 4096-ptr_max |
| PARAM_VALUE | 2 | fmode | 1-2 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| DATA_SOURCE | 1 | mdsc | $0 |
| FUZZY_MAX | 2 | fmode | 2 |
| HARD_MAX | 2 | fmode | 2 |
| 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 try_get_cap_refs() -> __ceph_touch_fmode()
| 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 | mdsc->snap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | mdsc->snap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 2 | fmode | 0-3,256-259,512-515,768-771 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| DATA_SOURCE | 2 | fmode | $4 |
| BIT_INFO | 2 | fmode | 0x0,0x30f |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| HALF_LOCKED2 | 1 | &mdsc->snap_rwsem | |
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock |
fs/ceph/ioctl.c ceph_ioctl_lazyio() -> __ceph_touch_fmode()
| 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->i_nr_by_mode | 4096-ptr_max |
| PARAM_VALUE | 1 | mdsc | 4096-ptr_max |
| PARAM_VALUE | 1 | mdsc->fsc | 4096-ptr_max |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| BIT_INFO | 2 | fmode | 0x4,0x7fff |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock |
fs/ceph/inode.c ceph_fill_inode() -> __ceph_touch_fmode()
| 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 | mdsc | 4096-ptr_max |
| PARAM_VALUE | 1 | mdsc->fsc | 4096-ptr_max |
| PARAM_VALUE | 2 | fmode | 0-s32max |
| BUF_SIZE | 0 | ci->fscrypt_auth | (-1),1-s32max |
| BUF_SIZE | 0 | ci->i_snapid_map | (-1),64 |
| BUF_SIZE | 0 | ci->i_xattrs.blob | (-1)-0,32 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| DATA_SOURCE | 1 | mdsc | r ceph_sb_to_mdsc |
| DATA_SOURCE | 2 | fmode | $5 |
| FUZZY_MAX | 2 | fmode | 0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | ci->i_dir_pin | s32min-s32max |
| USER_DATA | 0 | ci->i_inline_version | 1-u64max[c] |
| USER_DATA | 0 | ci->i_max_bytes | 0 |
| USER_DATA | 0 | ci->i_max_files | 0 |
| USER_DATA | 0 | ci->i_rsnaps | 0-u64max |
| USER_DATA | 0 | ci->i_xattrs.blob->alloc_len | 5-u32max[c] |
| USER_DATA | 0 | ci->i_xattrs.blob->vec.iov_len | 5-u32max[c] |
| 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 |
fs/ceph/dir.c ceph_lookup() -> __ceph_touch_fmode()
| 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 | 0 | ci->netfs.inode.i_sb->s_fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb->s_fs_info->mdsc | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb->s_fs_info->mdsc->metric.i_caps_hit.lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb->s_fs_info->mdsc->metric.i_caps_hit.lock.owner | (-1) |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb->s_fs_info->mdsc->metric.i_caps_hit.lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 2 | fmode | 1 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| DATA_SOURCE | 1 | mdsc | r ceph_sb_to_mdsc |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| HALF_LOCKED2 | &dir->i_rwsem | ||
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock |
fs/ceph/dir.c ceph_readdir() -> __ceph_touch_fmode()
| 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 | 2 | fmode | 2 |
| 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 | &dir_fp->readdir_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/dir.c dir_lease_is_valid() -> __ceph_touch_fmode()
| 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 | mdsc | 4096-ptr_max |
| PARAM_VALUE | 1 | mdsc->fsc | 4096-ptr_max |
| PARAM_VALUE | 2 | fmode | 1 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| DATA_SOURCE | 1 | mdsc | $2 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock |
fs/ceph/file.c ceph_open() -> __ceph_touch_fmode()
| 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 | mdsc | 4096-ptr_max |
| PARAM_VALUE | 1 | mdsc->fsc | 4096-ptr_max |
| PARAM_VALUE | 1 | mdsc->s_cap_auths_num | 0-s32max |
| PARAM_VALUE | 2 | fmode | 0-3 |
| CAPPED_DATA | 1 | mdsc->s_cap_auths_num | 1 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| DATA_SOURCE | 2 | fmode | r ceph_flags_to_mode |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock |
fs/ceph/file.c ceph_open() -> __ceph_touch_fmode()
| 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 | mdsc | 4096-ptr_max |
| PARAM_VALUE | 1 | mdsc->fsc | 4096-ptr_max |
| PARAM_VALUE | 1 | mdsc->s_cap_auths_num | 0-s32max |
| PARAM_VALUE | 2 | fmode | 0-3 |
| CAPPED_DATA | 1 | mdsc->s_cap_auths_num | 1 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| DATA_SOURCE | 2 | fmode | r ceph_flags_to_mode |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &ci->i_ceph_lock | |
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| TYPE_LOCK | (struct ceph_inode_info)->i_ceph_lock |
fs/ceph/file.c ceph_renew_caps() -> __ceph_touch_fmode()
| 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 | mdsc | 4096-ptr_max |
| PARAM_VALUE | 1 | mdsc->fsc | 4096-ptr_max |
| PARAM_VALUE | 2 | fmode | 0-3,256-259,512-515,768-771 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| DATA_SOURCE | 1 | mdsc | r ceph_sb_to_mdsc |
| DATA_SOURCE | 2 | fmode | $1 |
| BIT_INFO | 2 | fmode | 0x0,0x30f |
| 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 |