STRUCT MPI3MR_STGT_PRIV_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct mpi3mr_stgt_priv_data πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ this is the page for struct mpi3mr_stgt_priv_data and honestly it's giving "behind-the-scenes queen of the SCSI target world" πŸ‘‘


🌸 NAME 🌸

struct mpi3mr_stgt_priv_data β€” the SCSI target private structure, no cap πŸ’–


✨ SYNOPSIS ✨

literally the whole shape of her, character for character, don't touch:

struct mpi3mr_stgt_priv_data {
    struct scsi_target *starget;
    u16 dev_handle;
    u16 perst_id;
    u32 num_luns;
    atomic_t block_io;
    u8 dev_removed;
    u8 dev_removedelay;
    u8 dev_type;
    u8 dev_nvme_dif;
    u16 wslen;
    u8 io_throttle_enabled;
    u8 io_divert;
    struct mpi3mr_throttle_group_info *throttle_group;
    struct mpi3mr_tgt_dev *tgt_dev;
    u32 pend_count;
 };

πŸŽ€ Members πŸŽ€

bestie, this is the group chat roll call, every single one of them gets an intro 🫢

  • starget β€” the Scsi_target pointer. like, her link back to the scsi_target she belongs to πŸ’«
  • dev_handle β€” the FW device handle πŸ”₯ (FW = firmware, iykyk)
  • perst_id β€” the FW assigned Persistent ID, iconic and permanent πŸ’…
  • num_luns β€” the Number of Logical Units 🌸
  • block_io β€” whether I/O is blocked to the device or not 🚫 (drama!)
  • dev_removed β€” Device removed in the Firmware πŸ’€
  • dev_removedelay β€” Device is waiting to be removed in FW, she's on the waitlist πŸ™ˆ
  • dev_type β€” Device type, main character categorization πŸ‘‘
  • dev_nvme_dif β€” Device is NVMe DIF enabled ⭐
  • wslen β€” Write same max length πŸ“
  • io_throttle_enabled β€” I/O throttling needed or not 🐒 (sometimes you gotta slow down, bestie)
  • io_divert β€” Flag indicates io divert is on or off for the dev πŸ”€
  • throttle_group β€” Pointer to throttle group info πŸŽ€
  • tgt_dev β€” Internal target device pointer πŸ¦‹
  • pend_count β€” Counter to track pending I/Os during error handling 😭 (error handling era fr fr)

🌈 SEE ALSO 🌈

okay the cross-references are LONG and we're not skipping a single one, periodt πŸ’œ also shoutout to the kernel file ./drivers/scsi/mpi3mr/mpi3mr.h β€” that's where she lives 🏠

  • 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_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 scmd_priv(9)
  • struct mpi3mr_ioc(9)
  • struct mpi3mr_fwevt(9)
  • struct delayed_dev_rmhs_node(9)
  • struct delayed_evt_ack_node(9)

okay that's the whole page bestie, nothing skipped, every member accounted for πŸ’– go read the SEE ALSO list, it's literally a whole friend group 🫢

and that's a wrap, babe πŸŽ€ this came from ./drivers/scsi/mpi3mr, dated October 2026 β€” the struct mpi3mr_stgt_priv_data(9) page, signing off πŸ’…βœ¨

πŸ“¦ where this page comes from