ata_task_ioctl(9)
π ata_task_ioctl(9)
okay so we're in the Kernel API Manual today bestie, and this little icon is ata_task_ioctl β the handler for the HDIO_DRIVE_TASK ioctl. yes, that's a lot of capital letters. breathe. it's giving low-level realness and honestly we're obsessed. π
β¨ NAME β¨
ata_task_ioctl β the handler for the HDIO_DRIVE_TASK ioctl. that's it, that's the whole vibe π
π¦ SYNOPSIS π¦
int ata_task_ioctl (struct scsi_device *scsidev , void __user *arg );
like literally just that. two args. slay. β¨
πΈ ARGUMENTS πΈ
scsidevβ the device we're issuing the command to. main character energy fr πargβ the user-provided data we need for issuing the command. it comes from userspace, so handle it with the respect (and the care) it deserves π«Ά
π DESCRIPTION π
so what does it do? it's the handler for HDIO_DRIVE_TASK. that's the whole description, no cap β the manpage keeps it cute and brief and we are respecting that. π
LOCKING: this part is defined by the SCSI layer. and per the original, we don't really care. π not in a rude way!! in a "the SCSI layer already sorted it out, girlboss" way. the locking is their problem and they ate. π
β RETURN β
0(zero) on success β we love a win π- a negative errno on error β not the vibe, but at least it's informative π
π₯ SEE ALSO π₯
the kernel file lives at ./drivers/ata/libata-scsi.c β go say hi π«Ά
and here's the whole friend group, in order, no one left behind:
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_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_user_scan(9)ata_scsi_dev_rescan(9)
like... the whole squad. ate and left zero crumbs. πβ¨
that's the page bestie!! π this lil beauty ships from ./drivers/ata and it's dated October 2026 β write that down, it's canon. mwah ππ
π¦ 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