Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/ceph/inode.c __update_dentry_lease() -> __ceph_dentry_dir_lease_touch()

Type Parameter Key Value
PARAM_VALUE 0 di 4096-ptr_max
BUF_SIZE 0 di 1-s32max
BUF_SIZE 0 di 1-s32max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &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/dir.c __dcache_readdir() -> __ceph_dentry_dir_lease_touch()

Type Parameter Key Value
PARAM_VALUE 0 di 4096-ptr_max
BUF_SIZE 0 di 1-s32max
BUF_SIZE 0 di 1-s32max
CAPPED_DATA 0 di->lease_shared_gen 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dentry->d_lockref.lock
LOCK2 &inode->i_rwsem
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 dir_lease_is_valid() -> __ceph_dentry_dir_lease_touch()

Type Parameter Key Value
PARAM_VALUE 0 di 4096-ptr_max
BUF_SIZE 0 di 1-s32max
BUF_SIZE 0 di 1-s32max
CAPPED_DATA 0 di->lease_shared_gen 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dentry->d_lockref.lock
HALF_LOCKED2 &dir->i_rwsem
TYPE_LOCK (struct lockref)->lock