ata_scsi_user_scan(9)
π NAME π
okay bestie, pull up a chair β this is ata_scsi_user_scan(9) from the Kernel API Manual, and it's giving βsmall but useful kernel helperβ β¨. The function name is ata_scsi_user_scan, and the official NAME one-liner is: indication for user-initiated bus scan. No cap. π«Ά
β¨ SYNOPSIS β¨
int ata_scsi_user_scan (struct Scsi_Host *shost , unsigned int channel , unsigned int id , u64 lun );
πΈ ARGUMENTS πΈ
okay, the cast of characters is short and iconic:
shostβ SCSI host to scan. This is the host you're scanning, bestie. π«Άchannelβ Channel to scan. Lowkey straightforward. β¨idβ ID to scan. πlunβ LUN to scan. π
π¦ DESCRIPTION π¦
so the actual trigger is: this function is called when user explicitly requests bus scan. That's the explicit user-scan moment, fr fr. Then the original says, verbatim: Set probe pending flag and invoke EH. That's it β that's the whole description. π
LOCKING: SCSI layer (we don't care) β yes, that's literally the note. The SCSI layer is the locking context, and the official stance is βwe don't care.β π
π RETURN π
Zero. That's the return value, periodt. No dramatic twist, no secret extra return, just zero. π
π₯ SEE ALSO π₯
the related-functions group chat is long and iconic β every single one, in the original order:
- Kernel file:
./drivers/ata/libata-scsi.cβ the kernel file to peek at. π ata_scsi_set_passthru_sense_fields(9)ata_std_bios_param(9)ata_scsi_unlock_native_capacity(9)ata_get_identity(9)ata_cmd_ioctl(9)ata_task_ioctl(9)ata_scsi_qc_new(9)ata_to_sense_error(9)ata_gen_ata_sense(9)ata_scsi_dma_need_drain(9)ata_scsi_sdev_init(9)ata_scsi_sdev_configure(9)ata_scsi_sdev_destroy(9)ata_scsi_start_stop_xlat(9)ata_scsi_flush_xlat(9)scsi_6_lba_len(9)scsi_10_lba_len(9)scsi_16_lba_len(9)scsi_dld(9)ata_scsi_verify_xlat(9)ata_scsi_rw_xlat(9)ata_scsi_translate(9)ata_scsi_rbuf_fill(9)ata_scsiop_inq_std(9)ata_scsiop_inq_00(9)ata_scsiop_inq_80(9)ata_scsiop_inq_83(9)ata_scsiop_inq_89(9)ata_dsm_trim_pages(9)ata_scsiop_inq_b0(9)ata_scsiop_inq_b1(9)ata_scsiop_inq_b2(9)ata_scsiop_inq_b6(9)ata_scsiop_inq_b9(9)ata_scsiop_inquiry(9)modecpy(9)ata_msense_caching(9)ata_msense_control(9)ata_msense_rw_recovery(9)ata_scsiop_mode_sense(9)ata_scsiop_read_cap(9)ata_scsiop_report_luns(9)atapi_xlat(9)ata_scsi_find_dev(9)ata_scsi_pass_thru(9)ata_format_dsm_trim_descr(9)ata_scsi_write_same_xlat(9)ata_scsiop_maint_in(9)ata_scsi_report_zones_complete(9)ata_mselect_caching(9)ata_mselect_control(9)ata_scsi_mode_select_xlat(9)ata_scsi_var_len_cdb_xlat(9)ata_get_xlat_func(9)ata_scsi_simulate(9)ata_scsi_queuecmd(9)ata_scsi_offline_dev(9)ata_scsi_remove_dev(9)ata_scsi_media_change_notify(9)ata_scsi_hotplug(9)ata_scsi_dev_rescan(9)
that's the whole SEE ALSO squad, bestie π
xoxo, your ata_scsi_user_scan(9) bestie π
β source/version: ./drivers/ata, date: October 2026 π
π¦ 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