Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/md/md.c check_sb_changes() -> remove_and_add_spares()

Type Parameter Key Value
PARAM_VALUE 0 mddev 4096-ptr_max
PARAM_VALUE 0 mddev->bitmap_info.file->f_inode->i_mapping->host->i_op->get_offset_ctx 0,2606890545167454208
PARAM_VALUE 0 mddev->bitmap_info.file->f_inode->i_mapping->host->i_op->readlink 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256
PARAM_VALUE 0 mddev->bitmap_info.file->f_inode->i_mapping->host->i_op->sync_lazytime 0,6951464784224747520
PARAM_VALUE 0 mddev->cluster_info->lockspace 0-s64max
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_count.counter s32min-s32max
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_in_recovery.dep_map->name 0-255
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_in_recovery.first_waiter->handoff_set 1
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_in_recovery.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_in_recovery.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_in_recovery.first_waiter->type 0-1
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_lkbxa.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_lkbxa_lock.dep_map->name 0-255
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_lkbxa_lock.owner (-1)
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_lkbxa_lock.owner_cpu 4294967295
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_lkbxa_lock.raw_lock.cnts.counter 0-s32max
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_rsbtbl.nelems.counter s32min-s32max
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_rsbtbl.tbl->hash_rnd 0-4294967295
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_rsbtbl.tbl->nest 0-4294967295
PARAM_VALUE 0 mddev->cluster_info->message_lockres->ls->ls_rsbtbl.tbl->size 0-4294967295
PARAM_VALUE 0 mddev->cluster_info->message_lockres->mode 1
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->lksb.sb_status (-65538)-(-65537),(-35),(-11),0
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_count.counter s32min-s32max
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_in_recovery.dep_map->name 0-255
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_in_recovery.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_in_recovery.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_in_recovery.first_waiter->type 0-1
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_lkbxa.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_lkbxa_lock.dep_map->name 0-255
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_lkbxa_lock.owner_cpu 0-4294967295
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_lkbxa_lock.raw_lock.cnts.counter s32min-s32max
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_lkbxa_lock.raw_lock.wlocked 0-255
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_rsbtbl.nelems.counter s32min-s32max
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_rsbtbl.tbl->hash_rnd 0-4294967295
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_rsbtbl.tbl->nest 0-4294967295
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_rsbtbl.tbl->size 0-4294967295
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_rsbtbl_lock.dep_map->name 0-255
PARAM_VALUE 0 mddev->cluster_info->no_new_dev_lockres->ls->ls_scan_timer.flags 0-4294967295
PARAM_VALUE 0 mddev->cluster_info->recovery_map 0-s64max
PARAM_VALUE 0 mddev->cluster_info->recv_mutex.dep_map->name 0-255
PARAM_VALUE 0 mddev->cluster_info->recv_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 mddev->cluster_info->recv_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 mddev->cluster_info->recv_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 mddev->cluster_info->recv_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 mddev->cluster_info->recv_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 mddev->cluster_info->recv_mutex.wait_lock.owner_cpu 4294967295
PARAM_VALUE 0 mddev->cluster_info->state 0-s64max
PARAM_VALUE 0 mddev->cluster_info->suspend_hi 0-s64max
PARAM_VALUE 0 mddev->cluster_info->suspend_lo 0-s64max
PARAM_VALUE 0 mddev->cluster_info->sync_hi 0-s64max
PARAM_VALUE 0 mddev->cluster_info->sync_low 0-s64max
PARAM_VALUE 0 mddev->cluster_ops 4096-ptr_max
PARAM_VALUE 0 mddev->gendisk->ev->block s32min-s32max
PARAM_VALUE 0 mddev->gendisk->part0->bd_device.p->dead 0-1
PARAM_VALUE 0 mddev->gendisk->part0->bd_device.p->deferred_probe_reason 0-s64max
PARAM_VALUE 0 mddev->gendisk->part0->bd_device.parent->kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 mddev->gendisk->part0->bd_device.parent->kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 mddev->gendisk->part0->bd_device.parent->kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 mddev->gendisk->part0->bd_device.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 mddev->gendisk->queue->stats->accounting s32min-s32max
PARAM_VALUE 0 mddev->gendisk->queue->tag_set->update_nr_hwq_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mddev->gendisk->queue->tag_set->update_nr_hwq_lock.first_waiter->type 0-1
PARAM_VALUE 0 mddev->kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 mddev->private->device_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mddev->sysfs_degraded->attr.open->event.counter s32min-s32max
PARAM_VALUE 0 mddev->thread->wqueue.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 *mddev->cluster_info->message_lockres->ls->ls_rsbtbl_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 this 4096-ptr_max
PARAM_VALUE 1 this->raid_disk (-1)
PARAM_VALUE 1 this->saved_raid_disk (-1)-65534
CAPPED_DATA 1 &this->same_set 1
DATA_SOURCE 0 mddev $0
TASK_NOT_RUNNING
UNITS 0 mddev unit_byte
LOCK2 &cinfo->recv_mutex
HALF_LOCKED2 0 &mddev->reconfig_mutex
TYPE_LOCK (struct md_cluster_info)->recv_mutex

drivers/md/md.c hot_remove_disk() -> remove_and_add_spares()

Type Parameter Key Value
PARAM_VALUE 0 mddev 4096-ptr_max
PARAM_VALUE 0 mddev->pers 1-u64max
PARAM_VALUE 1 this 4096-ptr_max
PARAM_VALUE 1 this->bdev 4096-ptr_max
PARAM_VALUE 1 this->raid_disk 0-s32max
CAPPED_DATA 1 this->bdev->bd_dev 1
DATA_SOURCE 0 mddev $0
DATA_SOURCE 1 this r find_rdev
FUZZY_MAX 1 this->raid_disk 0
NOCHECK_CALL

drivers/md/md.c md_choose_sync_action() -> remove_and_add_spares()

Type Parameter Key Value
PARAM_VALUE 0 mddev 4096-ptr_max
PARAM_VALUE 0 mddev->reconfig_mutex.dep_map->name 0-255
PARAM_VALUE 0 mddev->reconfig_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 mddev->reconfig_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 mddev->reconfig_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 mddev->reshape_position u64max
PARAM_VALUE 0 mddev->resync_offset u64max
PARAM_VALUE 0 mddev->ro 0
PARAM_VALUE 1 this 0
DATA_SOURCE 0 mddev $0
LOCK2 0 &mddev->reconfig_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mddev)->reconfig_mutex

drivers/md/md.c md_start_sync() -> remove_and_add_spares()

Type Parameter Key Value
PARAM_VALUE 0 mddev 4096-ptr_max
PARAM_VALUE 0 mddev->reconfig_mutex.dep_map->name 0-255
PARAM_VALUE 0 mddev->reconfig_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 mddev->reconfig_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 mddev->reconfig_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 mddev->reconfig_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 mddev->ro s32min-(-1),1-s32max
PARAM_VALUE 1 this 0
NOCHECK_CALL
LOCK2 0 &mddev->reconfig_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mddev)->reconfig_mutex

drivers/md/md.c slot_store() -> remove_and_add_spares()

Type Parameter Key Value
PARAM_VALUE 0 mddev 4096-ptr_max
PARAM_VALUE 0 mddev->pers 4096-ptr_max
PARAM_VALUE 0 mddev->pers->hot_remove_disk 1-u64max
PARAM_VALUE 0 mddev->reconfig_mutex.dep_map->name 0-255
PARAM_VALUE 0 mddev->reconfig_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 mddev->reconfig_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 mddev->reconfig_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 this 4096-ptr_max
PARAM_VALUE 1 this->mddev 4096-ptr_max
PARAM_VALUE 1 this->mddev->pers 4096-ptr_max
PARAM_VALUE 1 this->mddev->pers->hot_remove_disk 1-u64max
PARAM_VALUE 1 this->mddev->reconfig_mutex.dep_map->name 0-255
PARAM_VALUE 1 this->mddev->reconfig_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 this->mddev->reconfig_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 1 this->mddev->reconfig_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 this->raid_disk s32min-(-2),0-s32max
DATA_SOURCE 1 this $0
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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/md.c state_store() -> remove_and_add_spares()

Type Parameter Key Value
PARAM_VALUE 0 mddev 4096-ptr_max
PARAM_VALUE 0 mddev->pers 1-u64max
PARAM_VALUE 0 mddev->reconfig_mutex.dep_map->name 0-255
PARAM_VALUE 0 mddev->reconfig_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 mddev->reconfig_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 mddev->reconfig_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 this 4096-ptr_max
PARAM_VALUE 1 this->mddev 4096-ptr_max
PARAM_VALUE 1 this->mddev->pers 1-u64max
PARAM_VALUE 1 this->mddev->reconfig_mutex.dep_map->name 0-255
PARAM_VALUE 1 this->mddev->reconfig_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 this->mddev->reconfig_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 1 this->mddev->reconfig_mutex.osq.tail.counter 0-s32max
DATA_SOURCE 1 this $0
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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