scsi_intern...block_nowait(9)
π scsi_internal_device_block_nowait β from the Kernel API Manual, bestie β¨
Okay so picture this: you're deep in the kernel, in the Kernel API Manual, and you need to pause a SCSI device without, like, going to sleep on it. That's this function. Welcome to the group chat π«Ά
πΈ NAME πΈ
scsi_internal_device_block_nowait β the "try to transition to the SDEV_BLOCK state" girlie π
(yes, the header up top cuts it off as scsi_intern...block_nowait(9) β she's just long, it's fine, it's giving main character energy)
β¨ SYNOPSIS β¨
int scsi_internal_device_block_nowait (struct scsi_device *sdev );
π ARGUMENTS π
sdevβ the device you're blocking, bestie. That's the one. π
π¦ DESCRIPTION π¦
So what she does is: pause SCSI command processing on the specified device. That's it, that's the whole vibe.
And the "nowait" in her name is not a drill β she does not sleep. No napping, no blocking, no "brb one sec". Iconic behaviour honestly. π
She returns zero if successful, or a negative error code upon failure. So like, zero = slay, negative = something went sideways. π
π₯ NOTES π₯
This routine transitions the device to the SDEV_BLOCK state β and heads up, that must be a legal transition. Not optional, not a suggestion, no cap. β οΈ
When the device is in this state, command processing is paused until the device leaves the SDEV_BLOCK state. She's on hold, she's in her quiet era, do not disturb. π
See also scsi_internal_device_unblock_nowait β that's the one who lets her out again. πβ¨
π SEE ALSO π
Kernel file ./drivers/scsi/scsi_lib.c β and honestly the whole extended friend group:
__scsi_queue_insert(9)scsi_queue_insert(9)scsi_failures_reset_retries(9)scsi_check_passthrough(9)scsi_execute_cmd(9)scsi_run_queue(9)scsi_result_to_blk_status(9)scsi_rq_err_bytes(9)scsi_io_completion(9)scsi_alloc_sgtables(9)scsi_initialize_rq(9)scsi_alloc_request(9)scsi_dispatch_cmd(9)scsi_get_internal_cmd(9)scsi_put_internal_cmd(9)scsi_device_from_queue(9)scsi_block_requests(9)scsi_unblock_requests(9)scsi_mode_select(9)scsi_mode_sense(9)scsi_test_unit_ready(9)scsi_device_set_state(9)scsi_evt_emit(9)scsi_evt_thread(9)sdev_evt_send(9)sdev_evt_alloc(9)sdev_evt_send_simple(9)scsi_device_quiesce(9)scsi_device_resume(9)scsi_device_block(9)scsi_internal_device_unblock_nowait(9)scsi_internal_device_unblock(9)scsi_block_targets(9)scsi_host_block(9)scsi_kmap_atomic_sg(9)scsi_kunmap_atomic_sg(9)scsi_vpd_lun_id(9)scsi_vpd_lun_serial(9)scsi_vpd_tpg_id(9)scsi_build_sense(9)
Mwah π β this page lives in ./drivers/scsi, dated October 2026, and she goes by scsi_intern...block_nowait(9). Bestie, go block some devices (legally). πβ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms