lpfc_els_flush_cmd(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

Bestie, meet lpfc_els_flush_cmd(9) from the Kernel API Manual. She's the cleanup crew for ELS commands, and her whole thing is: lpfc_els_flush_cmd β€” Clean up the outstanding els commands to a vport. Periodt. πŸ’…

✨ SYNOPSIS ✨

void lpfc_els_flush_cmd (struct lpfc_vport *vport );

That's the whole signature, no cap. 🫢

πŸŽ€ ARGUMENTS πŸŽ€

  • vport β€” pointer to a host virtual N_Port data structure. She's the vport getting tidied up. πŸ’–

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so this routine is literally the one used to clean up all the outstanding ELS commands on a vport. It's giving "clear the group chat and also the DMs." 😭

  • First, it aborts the vport by invoking the lpfc_fabric_abort_vport routine.
  • After that, it walks the ELS transmit queue to remove all the IOCBs with the vport other than the QUE_RING and ABORT/CLOSE IOCBs.
  • For the IOCBs with a non-NULL completion callback function, that callback function will be invoked with the status set to IOSTAT_LOCAL_REJECT and un.ulpWord[4] set to IOERR_SLI_ABORTED.
  • For IOCBs with a NULL completion callback function, the IOCB will simply be released.
  • Finally, it walks the ELS transmit completion queue to issue an abort IOCB to any transmit completion queue IOCB that is associated with the vport and is not an IOCB from libdfc (i.e., the management plane IOCBs that are not part of the discovery state machine) out to HBA by invoking the lpfc_sli_issue_abort_iotag routine.
⚠️ Big caveat, bestie: this function issues the abort IOCB to any transmit completion queueed IOCB, it does not guarantee the IOCBs are aborted when this function returns. Like, she sends the breakup text, but she does not wait for the read receipt. πŸ’€

🌈 SEE ALSO 🌈

If you're obsessed with this corner of lpfc_els.c, the whole squad is here. Kernel file: ./drivers/scsi/lpfc/lpfc_els.c. πŸ‘‘


πŸ’– Signed, sealed, and slayed by the Kernel API Manual squad β€” source/version ./drivers/scsi/lpfc, dated October 2026. lpfc_els_flush_cmd(9) out. πŸŽ€βœ¨

πŸ“¦ where this page comes from