Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/md/raid5-ppl.c ppl_write_hint_store() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 1-u64max
BUF_SIZE 0 conf 1216,1600,2712
BUF_SIZE 0 conf 1216,1600,2712
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mddev->reconfig_mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct mddev)->reconfig_mutex

drivers/md/raid5.c alloc_stripe() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
BUF_SIZE 0 conf (-1),1216,1600,2712
BUF_SIZE 0 conf (-1),1216,1600,2712
BUF_SIZE 0 conf->pending_data (-1),20480
BUF_SIZE 0 conf->stripe_hashtbl (-1),4096
DATA_SOURCE 0 conf $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 conf->min_nr_stripes 17-32768
USER_DATA 0 conf->scribble_sectors (-2147483647)-0,8-s32max
NO_OVERFLOW_SIMPLE 0 conf->bio_split.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 conf->bio_split.bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 conf->bio_split.rescue_workqueue->rescuer->task->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 conf->mddev->raid_disks
NO_OVERFLOW_SIMPLE 0 conf->pool_size
NO_OVERFLOW_SIMPLE 0 conf->previous_raid_disks
NO_OVERFLOW_SIMPLE 0 conf->raid_disks
NO_OVERFLOW_SIMPLE 0 conf->scribble_disks
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 0 &conf->cache_size_mutex

drivers/md/raid5.c check_reshape() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
PARAM_VALUE 0 conf->mddev 4096-ptr_max
BUF_SIZE 0 conf 1216,1600,2712
BUF_SIZE 0 conf 1216,1600,2712
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &rs->md.reconfig_mutex

drivers/md/raid5.c log_exit() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
BUF_SIZE 0 conf 1216,1600,2712
BUF_SIZE 0 conf 1216,1600,2712
DATA_SOURCE 0 conf $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &rs->md.reconfig_mutex

drivers/md/raid5.c log_flush_stripe_to_raid() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
BUF_SIZE 0 conf (-1),1216,1600,2712
BUF_SIZE 0 conf (-1),1216,1600,2712
DATA_SOURCE 0 conf $0
TASK_NOT_RUNNING

drivers/md/raid5.c log_handle_flush_request() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
BUF_SIZE 0 conf 1216,1600,2712
BUF_SIZE 0 conf 1216,1600,2712
DATA_SOURCE 0 conf $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->io_barrier

drivers/md/raid5.c log_modify() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
PARAM_VALUE 0 conf->mddev 4096-ptr_max
BUF_SIZE 0 conf 1216,1600,2712
BUF_SIZE 0 conf 1216,1600,2712
DATA_SOURCE 0 conf $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mddev->reconfig_mutex

drivers/md/raid5.c log_quiesce() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
BUF_SIZE 0 conf 1216,1600,2712
BUF_SIZE 0 conf 1216,1600,2712
DATA_SOURCE 0 conf $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex

drivers/md/raid5.c log_stripe() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max

drivers/md/raid5.c log_stripe_write_finished() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
PARAM_VALUE 0 conf->mddev 4096-ptr_max
TASK_NOT_RUNNING

drivers/md/raid5.c log_write_stripe_run() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
BUF_SIZE 0 conf (-1),1216,1600,2712
BUF_SIZE 0 conf (-1),1216,1600,2712
DATA_SOURCE 0 conf $0
TASK_NOT_RUNNING

drivers/md/raid5.c raid5_resize() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
PARAM_VALUE 0 conf->mddev 4096-ptr_max
BUF_SIZE 0 conf 1216,1600,2712
BUF_SIZE 0 conf 1216,1600,2712
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex

drivers/md/raid5.c schedule_reconstruction() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
PARAM_VALUE 0 conf->mddev 4096-ptr_max
TASK_NOT_RUNNING

drivers/md/raid5.c stripe_bio_overlaps() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sh->stripe_lock
LOCK2 irq
HALF_LOCKED2 &bi->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct stripe_head)->stripe_lock

drivers/md/raid5.c stripe_can_batch() -> raid5_has_ppl()

Type Parameter Key Value
PARAM_VALUE 0 conf 4096-ptr_max
PARAM_VALUE 0 conf->mddev 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bi->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &head->stripe_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &sh->batch_head->batch_lock
HALF_LOCKED2 &sh->stripe_lock
HALF_LOCKED2 &sh->stripe_lock
HALF_LOCKED2 irq