Defined in 1 files as a function:
Referenced in 5 files:
Smatch caller information:
fs/ceph/mds_client.c __ceph_mdsc_drop_dentry_lease() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| DATA_SOURCE | 0 | dentry | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| USER_DATA | 0 | dentry->d_parent->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | *dentry->__d_name.name | 0-255 |
| USER_DATA | 0 | *dentry->d_parent->__d_name.name | 0-255 |
| UNITS | 0 | dentry | unit_jiffy |
| USER_PTR | 0 | dentry->__d_name.name | |
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &mdsc->mutex | ||
| HALF_LOCKED2 | &session->s_mutex | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/mds_client.c __do_request() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| USER_DATA | 0 | dentry->d_parent->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_sb->s_flags | 0-u64max[c] |
| USER_DATA | 0 | *dentry->__d_name.name | 0-255 |
| USER_DATA | 0 | *dentry->d_parent->__d_name.name | 0-255 |
| UNITS | 0 | dentry | unit_jiffy |
| USER_PTR | 0 | dentry->__d_name.name | |
| LOCK2 | &mdsc->mutex | ||
| TYPE_LOCK | (struct ceph_mds_client)->mutex |
fs/ceph/mds_client.c d_find_primary() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &inode->i_lock | ||
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &mdsc->snap_rwsem | ||
| HALF_LOCKED2 | &s->lock | ||
| HALF_LOCKED2 | &session->s_mutex | ||
| TYPE_LOCK | (struct inode)->i_lock | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/mds_client.c handle_lease() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| CAPPED_DATA | 0 | dentry->d_name.hash | 1 |
| DATA_SOURCE | 0 | dentry | r d_lookup |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &session->s_mutex | ||
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &parent->d_lockref.lock | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/caps.c ceph_encode_dentry_release() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| DATA_SOURCE | 0 | dentry | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| USER_DATA | 0 | dentry->d_parent->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | *dentry->__d_name.name | 0-255 |
| USER_DATA | 0 | *dentry->d_parent->__d_name.name | 0-255 |
| UNITS | 0 | dentry | unit_jiffy |
| USER_PTR | 0 | dentry->__d_name.name | |
| LOCK2 | &mdsc->mutex | ||
| HALF_LOCKED2 | &session->s_mutex | ||
| TYPE_LOCK | (struct ceph_mds_client)->mutex |
fs/ceph/inode.c __update_dentry_lease() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $1 |
| PREEMPT_ADD | |||
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &mdsc->snap_rwsem | ||
| HALF_LOCKED2 | &req->r_fill_mutex | ||
| HALF_LOCKED2 | &session->s_mutex | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/inode.c ceph_readdir_prepopulate() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| CAPPED_DATA | 0 | dentry->d_name.hash | 1 |
| DATA_SOURCE | 0 | dentry | r d_lookup |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| LOCK2 | &mdsc->snap_rwsem | ||
| LOCK2 | &req->r_fill_mutex | ||
| LOCK2 | &session->s_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock | |
| TYPE_LOCK | (struct ceph_mds_client)->snap_rwsem | ||
| TYPE_LOCK | (struct ceph_mds_request)->r_fill_mutex | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/inode.c ceph_readdir_prepopulate() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| LOCK2 | &mdsc->snap_rwsem | ||
| LOCK2 | &req->r_fill_mutex | ||
| LOCK2 | &session->s_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock | |
| TYPE_LOCK | (struct ceph_mds_client)->snap_rwsem | ||
| TYPE_LOCK | (struct ceph_mds_request)->r_fill_mutex | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/inode.c splice_dentry() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | r d_find_any_alias |
| LOCK2 | &mdsc->snap_rwsem | ||
| LOCK2 | &req->r_fill_mutex | ||
| LOCK2 | &session->s_mutex | ||
| HALF_LOCKED2 | &dn->d_lockref.lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct ceph_mds_client)->snap_rwsem | ||
| TYPE_LOCK | (struct ceph_mds_request)->r_fill_mutex | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/inode.c splice_dentry() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| LOCK2 | &mdsc->snap_rwsem | ||
| LOCK2 | &req->r_fill_mutex | ||
| LOCK2 | &session->s_mutex | ||
| HALF_LOCKED2 | &dn->d_lockref.lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &realdn->d_lockref.lock | ||
| TYPE_LOCK | (struct ceph_mds_client)->snap_rwsem | ||
| TYPE_LOCK | (struct ceph_mds_request)->r_fill_mutex | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/dir.c __dcache_readdir() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | r __dcache_find_get_entry |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &dir_fp->readdir_lock | ||
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock | |
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/dir.c __dcache_readdir() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | r __dcache_find_get_entry |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_name.name | |
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &dir_fp->readdir_lock | ||
| HALF_LOCKED2 | &last->d_lockref.lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/dir.c __dcache_readdir() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &dir_fp->readdir_lock | ||
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock | |
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/dir.c __dentry_lease_check() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $0 |
| LOCK2 | &mdsc->dentry_list_lock | ||
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct ceph_mds_client)->dentry_list_lock | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/dir.c __dir_lease_check() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $0 |
| LOCK2 | &mdsc->dentry_list_lock | ||
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct ceph_mds_client)->dentry_list_lock | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/dir.c __dir_lease_try_check() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_fsdata->d_fsdata | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->moved->d_inode->i_size | |
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &mdsc->dentry_list_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/dir.c ceph_async_unlink_cb() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| UNITS | 0 | dentry | unit_jiffy |
| HALF_LOCKED2 | &pool->lock |
fs/ceph/dir.c ceph_d_delete() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| CAPPED_DATA | 0 | dentry | 1 |
| DATA_SOURCE | 0 | dentry | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_fsdata->d_fsdata | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->moved->d_inode->i_size | |
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | global &mount_lock.lock | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/dir.c ceph_d_prune() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $0 |
| PARAM_COMPARE | 0 | dentry | != $0->d_parent |
| PARAM_COMPARE | 0 | dentry | != $0->d_parent |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_fsdata->d_fsdata | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->moved->d_inode->i_size | |
| UNITS | 0 | dentry | unit_jiffy |
| HALF_LOCKED2 | &mdsc->snap_rwsem | ||
| HALF_LOCKED2 | &req->r_fill_mutex | ||
| HALF_LOCKED2 | &session->s_mutex | ||
| HALF_LOCKED2 | 0 | &dentry->d_inode->i_rwsem | |
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | 0 | &dentry->d_sb->s_vfs_rename_mutex |
fs/ceph/dir.c ceph_d_release() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_fsdata->d_fsdata | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->moved->d_inode->i_size | |
| HALF_LOCKED2 | 0 | &dentry->d_inode->i_rwsem | |
| HALF_LOCKED2 | 0 | &dentry->d_sb->s_vfs_rename_mutex |
fs/ceph/dir.c ceph_d_revalidate() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry->d_parent | s32min,(-1)-s32max |
| DATA_SOURCE | 0 | dentry | $2 |
| BIT_INFO | 0 | dentry->d_flags | 0x4,0xffffffffffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_parent->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_sb->s_flags | 0-u64max[c] |
| USER_DATA | 0 | *dentry->__d_name.name | 0-255 |
| USER_DATA | 0 | *dentry->d_parent->__d_name.name | 0-255 |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| USER_PTR | 0 | dentry->__d_name.name | |
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock |
fs/ceph/dir.c ceph_invalidate_dentry_lease() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 1-u64max |
| DATA_SOURCE | 0 | dentry | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| USER_DATA | 0 | dentry->d_parent->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_sb->s_flags | 0-u64max[c] |
| USER_DATA | 0 | *dentry->__d_name.name | 0-255 |
| USER_DATA | 0 | *dentry->d_parent->__d_name.name | 0-255 |
| UNITS | 0 | dentry | unit_jiffy |
| USER_PTR | 0 | dentry->__d_name.name | |
| HALF_LOCKED2 | &mdsc->mutex | ||
| HALF_LOCKED2 | &mdsc->snap_rwsem | ||
| HALF_LOCKED2 | &req->r_fill_mutex | ||
| HALF_LOCKED2 | &session->s_mutex |
fs/ceph/dir.c ceph_lookup() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry->d_parent | s32min,(-1)-s32max |
| DATA_SOURCE | 0 | dentry | $1 |
| STR_LEN | 0 | dentry->d_parent | (-1),1-24,26-27,31-34,63,99,115,254-255 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| USER_DATA | 0 | dentry->d_parent->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_parent->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_parent->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| USER_DATA | 0 | dentry->d_parent->d_sb->s_flags | 0-u64max[c] |
| USER_DATA | 0 | dentry->d_sb->s_flags | 0-u64max[c] |
| USER_DATA | 0 | *dentry->__d_name.name | 0-255 |
| USER_DATA | 0 | *dentry->d_parent->__d_name.name | 0-255 |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| USER_PTR | 0 | dentry->__d_name.name | |
| USER_PTR | 0 | dentry->d_parent->__d_name.name | |
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock |
fs/ceph/dir.c ceph_unlink() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| CAPPED_DATA | 0 | dentry | 1 |
| CAPPED_DATA | 0 | dentry->d_fsdata->lease_shared_gen | 1 |
| CAPPED_DATA | 0 | dentry->d_parent->d_inode | 1 |
| DATA_SOURCE | 0 | dentry | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| NO_OVERFLOW_SIMPLE | 0 | dentry->dentry->d_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->moved->d_inode->i_size | |
| HALF_LOCKED2 | &dir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | &dn->d_lockref.lock | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dentry->d_inode->i_rwsem | |
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | 0 | &dentry->d_sb->s_vfs_rename_mutex | |
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/dir.c dentry_lease_is_valid() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry->d_parent | (-1)-s32max |
| DATA_SOURCE | 0 | dentry | $0 |
| BIT_INFO | 0 | dentry->d_flags | 0x4,0xffffffffffffffff |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_parent->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_sb->s_flags | 0-u64max[c] |
| USER_DATA | 0 | *dentry->__d_name.name | 0-255 |
| USER_DATA | 0 | *dentry->d_parent->__d_name.name | 0-255 |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| USER_PTR | 0 | dentry->__d_name.name | |
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/dir.c dir_lease_is_valid() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| PARAM_VALUE | 0 | dentry->d_fsdata | 0,4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry->d_parent | (-1)-s32max |
| DATA_SOURCE | 0 | dentry | $1 |
| BIT_INFO | 0 | dentry->d_flags | 0x4,0xffffffffffffffff |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_parent->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_sb->s_flags | 0-u64max[c] |
| USER_DATA | 0 | *dentry->__d_name.name | 0-255 |
| USER_DATA | 0 | *dentry->d_parent->__d_name.name | 0-255 |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| USER_PTR | 0 | dentry->__d_name.name | |
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &dir->i_rwsem | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/dir.c get_caps_for_async_unlink() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| CAPPED_DATA | 0 | dentry | 1 |
| CAPPED_DATA | 0 | dentry->d_parent->d_inode | 1 |
| DATA_SOURCE | 0 | dentry | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| NO_OVERFLOW_SIMPLE | 0 | dentry->moved->d_inode->i_size | |
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &dir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | &dn->d_lockref.lock | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dentry->d_inode->i_rwsem | |
| HALF_LOCKED2 | 0 | &dentry->d_sb->s_vfs_rename_mutex | |
| TYPE_LOCK | (struct inode)->i_rwsem | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/ceph/file.c ceph_atomic_open() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $1 |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| HALF_LOCKED2 | &dir_inode->i_rwsem | ||
| HALF_LOCKED2 | &dn->d_lockref.lock | ||
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock |
fs/ceph/file.c ceph_finish_async_create() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $2 |
| HALF_LOCKED2 | &dn->d_lockref.lock |
fs/ceph/file.c try_prep_async_create() -> ceph_dentry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $1 |
| HALF_LOCKED2 | &dn->d_lockref.lock |