Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/ceph/ceph_frag.c ceph_frag_compare() -> ceph_frag_bits()

Type Parameter Key Value
DATA_SOURCE 0 f $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 f 0-u32max[u]
HALF_LOCKED2 &ci->i_fragtree_mutex
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &mdsc->snap_rwsem

fs/ceph/ceph_frag.c ceph_frag_compare() -> ceph_frag_bits()

Type Parameter Key Value
DATA_SOURCE 0 f $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 f 0-u32max[u]
HALF_LOCKED2 &ci->i_fragtree_mutex
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &mdsc->snap_rwsem

fs/ceph/inode.c ceph_fill_fragtree() -> ceph_frag_bits()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ci->i_fragtree_mutex
LOCK2 &mdsc->snap_rwsem
HALF_LOCKED2 &req->r_fill_mutex
HALF_LOCKED2 &session->s_mutex
TYPE_LOCK (struct ceph_inode_info)->i_fragtree_mutex
TYPE_LOCK (struct ceph_mds_client)->snap_rwsem

fs/ceph/inode.c ceph_frag_make_child() -> ceph_frag_bits()

Type Parameter Key Value
DATA_SOURCE 0 f $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ci->i_fragtree_mutex
HALF_LOCKED2 &mdsc->snap_rwsem
TYPE_LOCK (struct ceph_inode_info)->i_fragtree_mutex

fs/ceph/inode.c ceph_frag_mask() -> ceph_frag_bits()

Type Parameter Key Value
DATA_SOURCE 0 f $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ci->i_fragtree_mutex
HALF_LOCKED2 &mdsc->snap_rwsem
TYPE_LOCK (struct ceph_inode_info)->i_fragtree_mutex

fs/ceph/inode.c is_frag_child() -> ceph_frag_bits()

Type Parameter Key Value
DATA_SOURCE 0 f $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ci->i_fragtree_mutex
LOCK2 &mdsc->snap_rwsem
HALF_LOCKED2 &req->r_fill_mutex
HALF_LOCKED2 &session->s_mutex
TYPE_LOCK (struct ceph_inode_info)->i_fragtree_mutex
TYPE_LOCK (struct ceph_mds_client)->snap_rwsem

fs/ceph/inode.c is_frag_child() -> ceph_frag_bits()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ci->i_fragtree_mutex
LOCK2 &mdsc->snap_rwsem
HALF_LOCKED2 &req->r_fill_mutex
HALF_LOCKED2 &session->s_mutex
TYPE_LOCK (struct ceph_inode_info)->i_fragtree_mutex
TYPE_LOCK (struct ceph_mds_client)->snap_rwsem

fs/ceph/dir.c ceph_frag_mask() -> ceph_frag_bits()

Type Parameter Key Value
DATA_SOURCE 0 f $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_frag_next() -> ceph_frag_bits()

Type Parameter Key Value
DATA_SOURCE 0 f $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
TYPE_LOCK (struct inode)->i_rwsem

fs/ceph/dir.c ceph_frag_next() -> ceph_frag_bits()

Type Parameter Key Value
DATA_SOURCE 0 f $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
TYPE_LOCK (struct inode)->i_rwsem