ata_phys_link_online(9)
π ata_phys_link_online β Kernel API Manual, bestie edition π¦
okay so picture this: it's a Kernel API Manual page, the star of the show is ata_phys_link_online, and it's here to answer exactly ONE question for you. let's get into it β¨
πΈ NAME πΈ
ata_phys_link_online β the little function that tests whether the given link is online π
β¨ SYNOPSIS β¨
bool ata_phys_link_online (struct ata_link *link );
that's it, that's the whole vibe. one link, one bool. iconic.
π ARGUMENTS π
linkβ the ATA link you wanna test. that's the one, that's the subject of the whole investigation π΅οΈββοΈ
π DESCRIPTION π
so what does it do?? it tests whether link is online. simple, right? but hold up β there's a plot twist π
this function returns 0 if the online status of link cannot be obtained. meaning you literally CANNOT do the cute little equality thing in your head, because:
ata_link_online(link) != !ata_link_offline(link)
like, read that again. they are NOT each other's negation. that's not a typo, that's just how it is. it's giving "don't assume, actually check" energy π
LOCKING: None. literally none. no locks, no drama, no waiting around π«Ά
π₯ RETURN π₯
True if the port online status is available and online. both things. you need the status to be available AND the answer to be online. if the status can't even be obtained?? 0, bestie. no status, no True π
π SEE ALSO π
okay bestie, buckle up, because this list is LONG and every single one of these deserves their moment π
starting with the kernel file itself: ./drivers/ata/libata-core.c β plus, in the order they're listed:
ata_link_next(9), ata_dev_next(9), ata_dev_phys_link(9), ata_force_cbl(9), ata_force_pflags(9), ata_force_link_limits(9), ata_force_xfermask(9), ata_force_quirks(9), atapi_cmd_type(9), ata_set_rwcmd_protocol(9), ata_tf_read_block(9), ata_build_rw_tf(9), ata_pack_xfermask(9), ata_unpack_xfermask(9), ata_xfer_mask2mode(9), ata_xfer_mode2mask(9), ata_xfer_mode2shift(9), ata_mode_string(9), ata_dev_classify(9), ata_id_string(9), ata_id_c_string(9), ata_read_native_max_address(9), ata_set_max_sectors(9), ata_hpa_resize(9), ata_dump_id(9), ata_id_xfermask(9), ata_exec_internal(9), ata_pio_need_iordy(9), ata_pio_mask_no_iordy(9), ata_do_dev_read_id(9), ata_dev_read_id(9), ata_dev_power_set_standby(9), ata_dev_power_set_active(9), ata_read_log_page(9), ata_dev_configure(9), ata_cable_40wire(9), ata_cable_80wire(9), ata_cable_unknown(9), ata_cable_ignore(9), ata_cable_sata(9), sata_print_link_status(9), ata_dev_pair(9), ata_timing_cycle2mode(9), ata_down_xfermask_limit(9), ata_set_mode(9), ata_wait_ready(9), ata_wait_after_reset(9), ata_std_prereset(9), ata_std_postreset(9), ata_dev_same_device(9), ata_dev_reread_id(9), ata_dev_revalidate(9), ata_is_40wire(9), cable_is_40wire(9), ata_dev_xfermask(9), ata_dev_set_xfermode(9), ata_dev_set_feature(9), ata_dev_init_params(9), atapi_check_dma(9), ata_std_qc_defer(9), ata_sg_init(9), ata_sg_clean(9), ata_sg_setup(9), swap_buf_le16(9), ata_qc_free(9), ata_qc_complete(9), ata_qc_get_active(9), ata_qc_issue(9), ata_phys_link_offline(9), ata_link_online(9), ata_link_offline(9), ata_host_suspend(9), ata_host_resume(9), ata_dev_init(9), ata_link_init(9), sata_link_init_spd(9), ata_port_alloc(9), ata_host_alloc(9), ata_host_alloc_pinfo(9), ata_finalize_port_ops(9), ata_host_start(9), ata_host_init(9), ata_host_register(9), ata_host_activate(9), ata_dev_free_resources(9), ata_port_detach(9), ata_host_detach(9), ata_pci_remove_one(9), ata_platform_remove_one(9), ata_msleep(9), ata_wait_register(9)
and yes, ata_phys_link_offline(9), ata_link_online(9) and ata_link_offline(9) are all right there in the mix β the whole friend group showed up π
ngl the one thing to take away: 0 can mean "not online" OR "couldn't even tell you" β so don't go negating things assuming they're opposites, fr fr π€
and that's the whole page, bestie π this gem comes to you from ./drivers/ata, dated October 2026 β mwah, slay, see you in the next manpage β¨π
π¦ 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