STRUCT PERSISTENT_RAM_ZONE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’Ύ struct persistent_ram_zone(9) β€” Kernel API Manual πŸŽ€

🌸 NAME 🌸

okay so bestie, struct persistent_ram_zone is literally the details of a persistent RAM zone (PRZ) used as a pstore backend. that's the whole main-character job of this struct ✨


✨ SYNOPSIS ✨

here's the whole struct, exact and untouched, no cap:

struct persistent_ram_zone {
    phys_addr_t paddr;
    size_t size;
    void *vaddr;
    char *label;
    enum pstore_type_id type;
    u32 flags;
    raw_spinlock_t buffer_lock;
    struct persistent_ram_buffer *buffer;
    size_t buffer_size;
    char *par_buffer;
    char *par_header;
    struct rs_control *rs_decoder;
    int corrected_bytes;
    int bad_blocks;
    struct persistent_ram_ecc_info ecc_info;
    char *old_log;
    size_t old_log_size;
};

🧚 Members 🧚

tiny heads-up: vaddr is chillin' in the struct above, but this page's Members list doesn't give it its own description β€” so I'm not gonna invent one, bestie πŸ™ˆ. the rest are right here:

  • paddr β€” physical address of the mapped RAM area.
  • size β€” size of the mapping.
  • label β€” unique name of this PRZ.
  • type β€” frontend type for this PRZ.
  • flags β€” holds PRZ_FLAGS_* bits.
  • buffer_lock β€” locks access to the buffer's size bytes and start offset.
  • buffer β€” pointer to the actual RAM area managed by this PRZ.
  • buffer_size β€” bytes in buffer->data (not including any trailing ECC bytes).
  • par_buffer β€” pointer into buffer->data containing the ECC bytes for buffer->data.
  • par_header β€” pointer into buffer->data containing the ECC bytes for the buffer header (i.e. all fields up to data).
  • rs_decoder β€” RSLIB instance for doing ECC calculations.
  • corrected_bytes β€” ECC corrected bytes accounting since boot.
  • bad_blocks β€” ECC uncorrectable bytes accounting since boot.
  • ecc_info β€” ECC configuration details.
  • old_log β€” saved copy of buffer->data prior to the most recent wipe.
  • old_log_size β€” bytes contained in old_log.

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./fs/pstore/ram_internal.h β€” that's the kernel file this page points you at, bestie πŸ‘‘

mwah πŸ’‹ β€” this page came from ./fs/pstore, is dated October 2026, and answers to struct persistent_ram_zone(9) πŸ’œ

πŸ“¦ where this page comes from