Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/ceph/osdmap.c apply_primary_affinity() -> ceph_can_shift_osds()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->type 1,3
CAPPED_DATA 0 pool->id 1
CAPPED_DATA 0 pool->pg_num 1
CAPPED_DATA 0 pool->pgp_num 1
DATA_SOURCE 0 pool $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osdmap.c ceph_pg_to_primary_shard() -> ceph_can_shift_osds()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->type 1,3
CAPPED_DATA 0 pool->id 1
CAPPED_DATA 0 pool->pg_num 1
CAPPED_DATA 0 pool->pgp_num 1
DATA_SOURCE 0 pool $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osdmap.c get_temp_osds() -> ceph_can_shift_osds()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->type 1,3
CAPPED_DATA 0 pool->id 1
CAPPED_DATA 0 pool->pg_num 1
CAPPED_DATA 0 pool->pgp_num 1
DATA_SOURCE 0 pool $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osdmap.c raw_to_up_osds() -> ceph_can_shift_osds()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
CAPPED_DATA 0 pool->id 1
CAPPED_DATA 0 pool->pg_num 1
CAPPED_DATA 0 pool->pgp_num 1
DATA_SOURCE 0 pool $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osdmap.c remove_nonexistent_osds() -> ceph_can_shift_osds()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->size 0-32
CAPPED_DATA 0 pool->crush_ruleset 1
CAPPED_DATA 0 pool->id 1
CAPPED_DATA 0 pool->pg_num 1
CAPPED_DATA 0 pool->pgp_num 1
CAPPED_DATA 0 pool->size 1
CAPPED_DATA 0 pool->type 1
DATA_SOURCE 0 pool $1
FUZZY_MAX 0 pool->size 32
HARD_MAX 0 pool->size 32
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock