_ctl_ioctl_main(9)
π
_ctl_ioctl_main β main ioctl entry point
okay so bestie, welcome to the Kernel API Manual β¨ this one's a kernel-level icon and tbh it's short but she is important. Sit down, hydrate, let's get into it π«Ά
πΈ NAME πΈ
_ctl_ioctl_main β main ioctl entry point π«
like⦠the main character of ioctl entry points, literally.
β¨ SYNOPSIS β¨
long _ctl_ioctl_main (struct file *file , unsigned int cmd , void __user
*arg , u8 compat , u16 mpi_version );
that's the whole signature, no cap. long return, five args, she's built different π₯
π ARGUMENTS π
file(struct file) β the file, bestie. that's literally it. it's astruct fileand it's here πcmdβ the ioctl opcode, the little number that tells everyone what to do πargβ the user space data buffer, aka where the actual data hangs out π¦compatβ this cutie handles 32 bit applications running in a 64bit os, iykyk π she's doing the translation work so you don't have tompi_versionβ the version tag, and listen: it will beMPI2_VERSIONfor the mpt2ctl ioctl device, andMPI25_VERSION|MPI26_VERSIONfor the mpt3ctl ioctl device. write that down π
π SEE ALSO π
okay this is the part where the page goes FULL group chat π the kernel file for all of this lives at ./drivers/scsi/mpt3sas/mpt3sas_ctl.c, and here is the entire squad, not a single one skipped, periodt:
enum block_state(9),_ctl_display_some_debug(9),mpt3sas_ctl_done(9),_ctl_check_event_type(9),mpt3sas_ctl_add_to_event_log(9)mpt3sas_ctl_event_callback(9),_ctl_verify_adapter(9),mpt3sas_ctl_pre_reset_handler(9),mpt3sas_ctl_clear_outstanding_ioctls(9),mpt3sas_ctl_reset_done_handler(9)_ctl_fasync(9),_ctl_poll(9),_ctl_set_task_mid(9),_ctl_send_mctp_passthru_req(9),_ctl_do_mpt_command(9)_ctl_getiocinfo(9),_ctl_eventquery(9),_ctl_eventenable(9),_ctl_eventreport(9),_ctl_do_reset(9)_ctl_btdh_search_sas_device(9),_ctl_btdh_search_pcie_device(9),_ctl_btdh_search_raid_device(9),_ctl_btdh_mapping(9)_ctl_diag_capability(9),_ctl_diag_get_bufftype(9),_ctl_diag_register_2(9),mpt3sas_enable_diag_buffer(9)_ctl_diag_register(9),_ctl_diag_unregister(9),_ctl_diag_query(9),mpt3sas_send_diag_release(9)_ctl_diag_release(9),_ctl_diag_read_buffer(9),_ctl_addnl_diag_query(9),_ctl_enable_diag_sbr_reload(9)_ctl_compat_mpt_command(9),_ctl_get_mpt_mctp_passthru_adapter(9),mpt3sas_get_device_count(9)_ctl_ioctl(9),_ctl_mpt2_ioctl(9),_ctl_ioctl_compat(9),_ctl_mpt2_ioctl_compat(9)version_fw_show(9),version_bios_show(9),version_mpi_show(9),version_product_show(9),version_nvdata_persistent_show(9),version_nvdata_default_show(9)board_name_show(9),board_assembly_show(9),board_tracer_show(9)io_delay_show(9),device_delay_show(9),fw_queue_depth_show(9),host_sas_address_show(9),logging_level_show(9),fwfault_debug_show(9),ioc_reset_count_show(9),reply_queue_count_show(9),BRM_status_show(9)host_trace_buffer_size_show(9),host_trace_buffer_show(9),host_trace_buffer_enable_show(9)diag_trigger_master_show(9),diag_trigger_master_store(9),diag_trigger_event_show(9),diag_trigger_event_store(9),diag_trigger_scsi_show(9),diag_trigger_scsi_store(9),diag_trigger_mpi_show(9),diag_trigger_mpi_store(9)drv_support_bitmap_show(9),enable_sdev_max_qd_show(9),enable_sdev_max_qd_store(9)sas_address_show(9),sas_device_handle_show(9),sas_ncq_prio_supported_show(9),sas_ncq_prio_enable_show(9)mpt3sas_ctl_init(9),mpt3sas_ctl_release(9),mpt3sas_ctl_exit(9)
likeβ¦ that's the whole friend group and every single one of them showed up to the party π go read them, they know things.
fr fr tho, thempi_versionargument is the one people mess up βMPI2_VERSIONfor mpt2ctl, andMPI25_VERSION|MPI26_VERSIONfor mpt3ctl. don't mix 'em up bestie π
and that's the page!! mwah π this gem ships out of ./drivers/scsi/mpt3sas and the date on it is October 2026 β yes, the future, she's ahead of her time β slay, bye π¦π
π¦ 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