qla4xxx_create_chap_list(9)
π qla4xxx_create_chap_list π
okay so bestie, welcome to the Kernel API Manual, section 9 β this is the chapter where we learn how qla4xxx_create_chap_list builds a whole CHAP roster straight out of FLASH. it's giving "clerical queen of the flash table" and honestly? obsessed. β¨
πΈ NAME πΈ
qla4xxx_create_chap_list β make a CHAP list, sourced from FLASH π
β¨ SYNOPSIS β¨
void qla4xxx_create_chap_list (struct scsi_qla_host *ha );
literally a void function, no return value, no drama. it takes one pointer and it does its thing. periodt. π
π¦ ARGUMENTS π¦
haβ pointer to the adapter structure π like, the adapter in question. that's the whole vibe.
π DESCRIPTION π
okay so here's what happens, no cap: this function reads the flash and makes a list of CHAP entries. π§
then, during login, when a CHAP entry comes in, it gets checked against this list. iykyk.
- if the entry exists in the list β the CHAP entry index is set in the DDB. slay. π
- if the CHAP entry does not exist in the list β a new entry gets added to FLASH in the CHAP table, and the index that comes back from that is used in the DDB. iconic behaviour, honestly. β¨
so it's basically the group chat mod of CHAP entries β everyone gets vetted against the list, and if you're not in it, you get added. main character energy fr fr. π
π SEE ALSO π
the kernel file in question, bestie: ./drivers/scsi/qla4xxx/ql4_os.c π
and now the extended friend group β every single one of these, in order, because we do not skip anyone at this table:
qla4xxx_find_free_chap_index(9)qla4xxx_set_chap_entry(9)qla4xxx_mark_all_devices_missing(9)qla4xxx_queuecommand(9)qla4xxx_mem_free(9)qla4xxx_mem_alloc(9)qla4_8xxx_check_temp(9)qla4_8xxx_check_fw_alive(9)qla4_8xxx_watchdog(9)qla4xxx_timer(9)qla4xxx_cmd_wait(9)qla4xxx_soft_reset(9)qla4xxx_abort_active_cmds(9)qla4xxx_recover_adapter(9)qla4xxx_do_dpc(9)qla4xxx_free_adapter(9)qla4xxx_get_bidi_chap(9)qla4xxx_check_existing_isid(9)qla4xxx_update_isid(9)qla4xxx_should_update_isid(9)qla4xxx_is_flash_ddb_exists(9)qla4xxx_remove_failed_ddb(9)qla4xxx_sysfs_ddb_is_non_persistent(9)qla4xxx_sysfs_ddb_tgt_create(9)qla4xxx_sysfs_ddb_add(9)qla4xxx_sysfs_ddb_apply(9)qla4xxx_sysfs_ddb_login(9)qla4xxx_sysfs_ddb_logout_sid(9)qla4xxx_sysfs_ddb_logout(9)qla4xxx_sysfs_ddb_set_param(9)qla4xxx_sysfs_ddb_delete(9)qla4xxx_sysfs_ddb_export(9)qla4xxx_build_ddb_list(9)qla4xxx_wait_login_resp_boot_tgt(9)qla4xxx_probe_adapter(9)qla4xxx_prevent_other_port_reinit(9)qla4xxx_remove_adapter(9)qla4xxx_config_dma_addressing(9)qla4xxx_del_from_active_array(9)qla4xxx_eh_wait_on_command(9)qla4xxx_wait_for_hba_online(9)qla4xxx_eh_wait_for_commands(9)qla4xxx_eh_abort(9)qla4xxx_eh_device_reset(9)qla4xxx_eh_target_reset(9)qla4xxx_is_eh_active(9)qla4xxx_eh_host_reset(9)qla4xxx_pci_mmio_enabled(9)
ngl bestie, that's a lot of cross-references β but every single one is here, so you're never gonna be left on read. π«Ά
π the sign-off π
and that's the whole page! π this one lives in ./drivers/scsi/qla4xxx, dated October 2026, and it's part of the Kernel API Manual β so go forth, read your flash, build your CHAP list, and remember: if the entry isn't in the list, add it to the CHAP table and use that index in the DDB. that's the whole assignment. love u, 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