Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 25 files:

Smatch caller information:

fs/gfs2/log.c __gfs2_log_reserve() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/gfs2/log.c log_flush_wait() -> io_schedule()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sdp->sd_log_flush_lock

net/9p/trans_virtio.c p9_get_mapped_pages() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem

net/9p/trans_virtio.c p9_virtio_request() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &client->trans->sq_sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &v9ses->rename_sem

net/9p/trans_virtio.c p9_virtio_zc_request() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem

net/9p/trans_virtio.c p9_virtio_zc_request() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem

net/9p/trans_xen.c p9_xen_request() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &client->trans->sq_sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &v9ses->rename_sem

net/9p/trans_xen.c p9_xen_request() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &client->trans->sq_sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &v9ses->rename_sem

fs/jfs/jfs_txnmgr.c TXN_SLEEP_DROP_LOCK() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/f2fs/segment.c f2fs_balance_fs() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &src->i_rwsem

drivers/md/dm-snap.c wait_for_in_progress() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct mapped_device)->io_barrier

block/blk-iocost.c ioc_rqos_throttle() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock

drivers/infiniband/ulp/rtrs/rtrs-clt.c rtrs_clt_get_permit() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/block/drbd/drbd_receiver.c _drbd_wait_ee_list_empty() -> io_schedule()

Type Parameter Key Value
NOCHECK_CALL

mm/filemap.c folio_wait_bit_common() -> io_schedule()

Type Parameter Key Value
RX_PATH
NOCHECK_CALL

mm/filemap.c softleaf_entry_wait_on_locked() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-mpath.c multipath_wait_for_pg_init_completion() -> io_schedule()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &m->work_mutex
HALF_LOCKED2 &md->suspend_lock

block/blk-core.c blk_io_schedule() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-writecache.c writecache_wait_on_freelist() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &md->io_barrier

drivers/md/dm.c dm_wait_for_bios_completion() -> io_schedule()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

kernel/sched/build_utility.c bit_wait_io() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/jfs/jfs_logmgr.c lbmAllocate() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/jfs/jfs_logmgr.c lbmIOWait() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &jfs_log_mutex

fs/jfs/jfs_logmgr.c lmGroupCommit() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &imap->im_freelock
HALF_LOCKED2 &jfs_ip->commit_mutex
HALF_LOCKED2 &ji->commit_mutex
HALF_LOCKED2 &target->i_rwsem

drivers/md/dm-integrity.c __journal_read_write() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &md->io_barrier

drivers/md/dm-integrity.c integrity_commit() -> io_schedule()

Type Parameter Key Value
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-integrity.c sleep_on_endio_wait() -> io_schedule()

Type Parameter Key Value
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/md/dm-integrity.c wait_and_add_new_range() -> io_schedule()

Type Parameter Key Value
RX_PATH
NOCHECK_CALL

fs/xfs/xfs_inode.c __xfs_iunpin_wait() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ailp->ail_lock
HALF_LOCKED2 &bp->b_sema

block/blk-rq-qos.c rq_qos_wait() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock

fs/xfs/xfs_buf.c xfs_buf_wait_unpin() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bp->b_sema

drivers/md/dm-vdo/data-vio.c wait_permit() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &md->io_barrier
LOCK2 &pool->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct mapped_device)->io_barrier

net/9p/client.c p9_client_rpc() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &c->trans->sq_sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &v9ses->rename_sem

io_uring/rw.c io_hybrid_iopoll_delay() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctx->uring_lock
HALF_LOCKED2 &sqd->lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

fs/jfs/jfs_metapage.c __lock_metapage() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

block/blk-mq-tag.c blk_mq_get_tag() -> io_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL