Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/ceph/mds_client.c parse_reply_info_readdir() -> ceph_str_hash()

Type Parameter Key Value
PARAM_VALUE 1 s 4096-ptr_max
CAPPED_DATA 2 len 1
DATA_SOURCE 2 len r ceph_decode_32
USER_DATA 2 len 0-u32max[c]
LOCK2 &mdsc->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_mds_client)->mutex

fs/ceph/inode.c ceph_readdir_prepopulate() -> ceph_str_hash()

Type Parameter Key Value
PARAM_VALUE 1 s 1-u64max
PARAM_VALUE 2 len 0-1010101
BUF_SIZE 1 s 1-s32max
STR_LEN 0 type 0-1010101
LOCK2 &mdsc->snap_rwsem
LOCK2 &req->r_fill_mutex
LOCK2 &session->s_mutex
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_dentry_hash() -> ceph_str_hash()

Type Parameter Key Value
PARAM_VALUE 0 type 2-255
BUF_SIZE 1 s s32min-(-2),1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 s unit_byte
UNITS 2 len unit_byte
LOCK2 &dn->d_lockref.lock
LOCK2 rcu_read
HALF_LOCKED2 &mdsc->mutex
TYPE_LOCK (struct lockref)->lock

net/ceph/osdmap.c __ceph_object_locator_to_pg() -> ceph_str_hash()

Type Parameter Key Value
BUF_SIZE 1 s s32min-(-2),1-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
HALF_LOCKED2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osdmap.c __ceph_object_locator_to_pg() -> ceph_str_hash()

Type Parameter Key Value
PARAM_VALUE 1 s 4096-ptr_max
PARAM_VALUE 2 len 0-s32max
BUF_SIZE 1 s 256-s32max,18446744071562067968-u64max
BUF_SIZE 1 s 256-s32max,18446744071562067968-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
HALF_LOCKED2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock