STRUCT SCMD_PRIV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct scmd_priv(9) β€” the kernel API manual, bestie edition πŸŽ€

okay so this is a page from the Kernel API Manual and it's literally all about struct scmd_priv, aka the SCSI command private data. she's a little struct with main character energy and i'm obsessed ✨


🌸 NAME 🌸

struct scmd_priv β€” SCSI command private data 🫢


✨ SYNOPSIS ✨

here's the whole vibe, copied exactly, no cap:

struct scmd_priv {
    u16 host_tag;
    u8 in_lld_scope;
    u8 meta_sg_valid;
    struct scsi_cmnd *scmd;
    u16 req_q_idx;
    int chain_idx;
    int meta_chain_idx;
    u8 mpi3mr_scsiio_req[MPI3MR_ADMIN_REQ_FRAME_SZ];
};

πŸ¦‹ Members πŸ¦‹

breaking down every single field because we do not skip details in this house πŸ’…

  • host_tag β€” the host tag, and it's specific to the operational queue πŸ‘‘
  • in_lld_scope β€” tells you whether the command is in LLD scope or not, iykyk
  • meta_sg_valid β€” flags a DIX command with meta data SGL, or not πŸ™ˆ
  • scmd β€” the SCSI Command pointer, literally
  • req_q_idx β€” the operational request queue index πŸŽ€
  • chain_idx β€” the chain frame index
  • meta_chain_idx β€” the chain frame index of meta data SGL 🌈
  • mpi3mr_scsiio_req β€” the MPI SCSI IO request, size MPI3MR_ADMIN_REQ_FRAME_SZ and all πŸ’–

πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file ./drivers/scsi/mpi3mr/mpi3mr.h and honestly the whole friend group πŸ’€ β€” here's everyone, no one left out:

  • struct mpi3mr_nvme_pt_sge(9)
  • struct mpi3mr_buf_map(9)
  • struct mpi3mr_compimg_ver(9)
  • struct segments(9)
  • struct op_req_qinfo(9)
  • struct op_reply_qinfo(9)
  • struct mpi3mr_intr_info(9)
  • struct mpi3mr_throttle_group_info(9)
  • struct mpi3mr_hba_port(9)
  • struct mpi3mr_sas_port(9)
  • struct mpi3mr_sas_phy(9)
  • struct mpi3mr_sas_node(9)
  • struct mpi3mr_enclosure_node(9)
  • struct tgt_dev_sas_sata(9)
  • struct tgt_dev_pcie(9)
  • struct tgt_dev_vd(9)
  • union _form_spec_inf(9)
  • struct mpi3mr_tgt_dev(9)
  • mpi3mr_tgtdev_get(9)
  • mpi3mr_free_tgtdev(9)
  • mpi3mr_tgtdev_put(9)
  • struct mpi3mr_stgt_priv_data(9)
  • struct mpi3mr_drv_cmd(9)
  • union mpi3mr_trigger_data(9)
  • struct trigger_event_data(9)
  • struct diag_buffer_desc(9)
  • struct dma_memory_desc(9)
  • struct chain_element(9)
  • struct mpi3mr_ioc(9)
  • struct mpi3mr_fwevt(9)
  • struct delayed_dev_rmhs_node(9)
  • struct delayed_evt_ack_node(9)

ngl bestie, that's the whole page β€” every field, every flag, every reference, all accounted for πŸ’œ

and that's a wrap! this one came to you from ./drivers/scsi/mpi3mr and it's dated October 2026 β€” so go forth, read your structs, and slay πŸ§šπŸ’–β­

πŸ“¦ where this page comes from