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 ceph_readdir_prepopulate() -> ceph_make_fpos()

Type Parameter Key Value
PARAM_VALUE 0 high 0-16777215
PARAM_VALUE 2 hash_order 1
CAPPED_DATA 0 high 1
DATA_SOURCE 0 high r ceph_frag_value
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 ceph_readdir_prepopulate() -> ceph_make_fpos()

Type Parameter Key Value
PARAM_VALUE 2 hash_order 0
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/dir.c ceph_readdir() -> ceph_make_fpos()

Type Parameter Key Value
PARAM_VALUE 2 hash_order 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/ceph/dir.c ceph_readdir() -> ceph_make_fpos()

Type Parameter Key Value
PARAM_VALUE 0 high 0-16777215
PARAM_VALUE 1 off 0-2
PARAM_VALUE 2 hash_order 1
FUZZY_MAX 1 off 2
HARD_MAX 1 off 2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/ceph/dir.c ceph_readdir() -> ceph_make_fpos()

Type Parameter Key Value
PARAM_VALUE 1 off 0-2
PARAM_VALUE 2 hash_order 0
DATA_SOURCE 0 high r ceph_frag_next
FUZZY_MAX 1 off 2
HARD_MAX 1 off 2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem