mfsmetadump(8)

🌸 NAME 🌸

mfsmetadump β€” dump MooseFS metadata info in human readable format πŸ’– (yes bestie, the manual page name is literally also mfsmetadump, we're doing the (8) system-manager situation, slay)


πŸ¦‹ SYNOPSIS πŸ¦‹

mfsmetadump [-d] [-s section_name] metadata_file

✨ DESCRIPTION ✨

mfsmetadump dumps MooseFS metadata info in human readable format. The output is broken up into several sections, each one carrying a different kind of information. Every section is made of two things: the header data β€” those rows that start with a hash (#) sign β€” and the content data, which, fair warning, may be totally empty. Ngl sometimes a section just shows up with vibes and no content πŸ™ˆ.


πŸ’… OPTIONS πŸ’…

  • -d β€” replace all non-printable characters (codes < 32 and > 126) with '.'. It was the default behaviour in version < 3.0.110, so if you're on something ancient this is just... already happening, bestie.
  • -s β€” dump only the specified section of the file. Possible sections are:
    • HEAD β€” header info
    • SESS β€” client sessions
    • LABS β€” labels (not used)
    • SCLA β€” storage classes
    • PATT β€” pattern overrides
    • NODE β€” tree nodes (i-nodes)
    • EDGE β€” tree edges (file names)
    • FREE β€” free nodes (deleted i-nodes)
    • QUOT β€” quota definitions
    • XATR β€” xattr data
    • PACL β€” posix acl data
    • OPEN β€” open files
    • FLCK β€” flock data
    • PLCK β€” posix locks (lockf,ioctl) data
    • CSDB β€” active chunkservers
    • CHNK β€” chunks
  • metadata_file β€” path to metadata.mfs file 🫢

πŸŽ€ NOTES πŸŽ€

Okay so here's the tea, bestie: every metadata section β€” with the exception of the HEAD section β€” consists of a constant set of HEADER fields plus a variable set of section-specific fields. The HEAD section is the iconoclast of the family: it contains only section-specific fields. The HEADER fields and all the section fields are listed below πŸ‘‡

πŸ“‹ SECTION HEADER

  • section header β€” section header (section type + version)
  • length β€” length of section
  • section type β€” name of section
  • version β€” hexadecimal representation of section version

πŸ“‚ FILE HEADER SECTION (HEAD)

  • header β€” MooseFS version
  • version β€” metadata file version
  • fileid β€” metadata file id

πŸ‘― SESSIONS SECTION (SESS)

  • nextsessionid β€” first free session id
  • statscount β€” number of stats remembered in each session
  • SESSION β€” line describing a single session
    • s β€” session id
    • e β€” exports checksum
    • p β€” IP address
    • r β€” root inode number
    • f β€” session flags
    • u β€” umask
    • g β€” min and max goal (redundancy level)
    • t β€” min and max trash retention
    • m β€” maproot uid,gid and mapall uid,gid
    • x β€” disabled operations
    • d β€” disconnection time (optional)
    • c β€” current hour stats data
    • l β€” last hour stats data
    • i β€” session name (usually local mount point)

🏷️ STORAGE CLASS SECTION (SCLA), formerly LABELS SECTION (LABS)

  • LABELDESC β€” line with label description (existed only in LABS)
    • l β€” label letter
    • n β€” label description
  • SCLASS (formerly LABELSET) β€” line with storage class used in system
    • # β€” storage class id
    • x β€” admin only
    • m β€” mode
    • d β€” arch delay
    • c β€” create labels
    • k β€” keep labels
    • a β€” archive labels
    • n β€” name
  • SCLASSMAIN (used in version 4.0+ instead of SCLASS) β€” line with common parameters of storage class
    • # β€” storage class id
    • x β€” admin only
    • m β€” create mode
    • a β€” arch mode
    • d β€” arch delay
    • t β€” min trash retention
    • n β€” name
  • SCLASSEXPR (used in version 4.0+ instead of SCLASS) β€” line with label expression
    • # β€” storage class id
    • t β€” type ([C]reate,[K]eep,[A]rchive or [T]rash)
    • e β€” expression

🧡 PATTERNS SECTION (PATT)

  • PATTERN β€” line with pattern definition
    • v β€” priority
    • # β€” storage class id
    • t β€” trash retention
    • e β€” flags (extra mfs attributes)
    • u β€” uid
    • g β€” gid
    • p β€” pattern

🌳 NODES SECTION (NODE)

  • maxinode β€” maximum inode number used by system
  • hashelements β€” number of inodes in hash tabble
  • NODE β€” line with node (inode) description
    • k β€” node type (-,D,S,F,B,C,L,T,R)
      • - β€” file
      • D β€” directory
      • S β€” socket
      • F β€” fifo
      • B β€” block device
      • C β€” character device
      • L β€” symbolic link
      • T β€” trash file
      • R β€” sustained file (removed open file)
    • i β€” inode number
    • # β€” storage class id
    • e β€” flags (extra mfs attributes)
    • w β€” windows attributes
    • m β€” mode
    • u β€” uid
    • g β€” gid
    • a,m,c β€” atime, mtime, ctime
    • t β€” trash retention
    • d β€” rdevhi,rdevlo (only block and character devices)
    • p β€” path (only symbolic links)
    • l β€” file length (only files)
    • c β€” chunk list (only files)
    • r β€” sessions that have this file open (only files)

πŸͺ’ EDGES SECTION (EDGE)

  • nextedgeid β€” next available edge id (descending)
  • EDGE β€” line with edge description
    • p β€” parent inode number
    • c β€” child inode number
    • i β€” edge id
    • n β€” edge name

πŸ•ŠοΈ FREE NODES SECTION (FREE)

  • free nodes β€” number of free (reusable) nodes
  • FREEID β€” line with free inode description
    • i β€” inode number
    • f β€” deletion timestamp

πŸ’° QUOTA SECTION (QUOT)

  • quota nodes β€” number of nodes with quota
  • QUOTA β€” line with quota description
    • i β€” inode number
    • g β€” grace period
    • e β€” exceeded
    • f β€” flags
    • s β€” soft quota exceeded timestamp
    • si β€” soft inode quota
    • hi β€” hard inode quota
    • sl β€” soft length quota
    • hl β€” hard length quota
    • ss β€” soft size quota
    • hs β€” hard size quota
    • sr β€” soft real size quota
    • hr β€” hard real size quota

πŸ—‚οΈ XATTR SECTION (XATR)

  • XATTR β€” line with xattr description
    • i β€” inode number
    • n β€” xattr name
    • v β€” xattr value

πŸ” POSIX ACL SECTION (PACL)

  • POSIXACL β€” line with acl description
    • i β€” inode number
    • t β€” acl type
    • u β€” user (file owner) permissions
    • g β€” group permissions
    • o β€” other permissions
    • m β€” permission mask
    • n β€” named permissions - list of objects:
    • u(U):P β€” permissions P for user with uid U
    • g(G):P β€” permissions P for group with gid G

πŸ”“ OPEN FILES SECTION (OPEN)

  • OPENFILE β€” line with open file description
    • s β€” session id
    • i β€” inode number

πŸ‘ FLOCK LOCK SECTION (FLCK)

  • FLOCK β€” line with flock-lock description
    • i β€” inode number
    • s β€” session id
    • o β€” lock owner (FUSE lock owner)
    • t β€” lock type ('R' - shared lock, 'W' - exclusive lock)

πŸ”’ POSIX LOCK SECTION (PLCK)

  • POSIXLOCK β€” line with posix-lock description
    • i β€” inode number
    • s β€” session id
    • o β€” lock owner (FUSE lock owner)
    • p β€” local process id (owner pid)
    • r β€” lock range in format <START,END)
    • t β€” lock type ('R' - shared lock, 'W' - exclusive lock)

πŸ–₯️ CHUNKSERVERS SECTION (CSDB)

  • chunk servers β€” number of chunkservers
  • CHUNCKSERVER β€” line with chunk server description
    • i β€” server ip
    • p β€” server port
    • # β€” server id
    • m β€” maintenance mode
    • t β€” maintenance timeout timestamp

🧩 CHUNKS SECTION (CHNK)

  • nextchunkid β€” first available chunk number
  • CHUNK β€” line with chunk description
    • i β€” chunk number
    • v β€” chunk version
    • t β€” timestamp, if in the future, means lock timestamp, if in the past, last modification timestamp
    • a β€” archive flag
    • (s,#) β€” list of entries, s is storage class id, # is number of files in this storage class containing this chunk
    • c β€” calculated storage class id (effectively used class id, if a chunk has more than one)
🚨 NOTICE! If a chunk's timestamp equals 0, it means the chunk was created by MooseFS version older than 4.45.0 and has not been locked or modified since. It's giving ancient artifact, no cap πŸ’€

πŸ› REPORTING BUGS πŸ›

Found a bug? Report bugs to <bugs@moosefs.com>. They want to hear about it, bestie, do not gatekeep the bug 🫢


okay so legal era, bestie β€” this is the part where we give credit where credit is SO deserved 🫢

Copyright (C) 2026 Jakub Kruszona-Zawadzki, Saglabs SA

This file is part of MooseFS. πŸ’œ

MooseFS is free software β€” you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 (only). not "or later", bestie β€” version 2 ONLY. read the fine print, it's giving very specific πŸ’…

MooseFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 😭 (yes that's the scary all-caps part, it's literally required to be in all caps, no cap)

You should have received a copy of the GNU General Public License along with this program; if not, bestie, go look at it here: https://www.gnu.org/licenses/ ✨


πŸ‘€ SEE ALSO πŸ‘€

the crossover episode we've all been waiting for:

  • mfsmaster(8) β€” go say hi to the main character of the whole MooseFS cinematic universe πŸ‘‘

that's the whole page, bestie!! you read ALL of it. genuinely iconic behavior, no notes. πŸ’…βœ¨

this has been mfsmetadump(8) from MooseFS 4.59.2-1, dated May 2026 πŸŽ€ (yes, a 2026 copyright AND a 2026 manual date, she's from the future, she's that girl πŸ¦‹) β€” now go forth and dump that metadata responsibly, ily, bye!! πŸ’–πŸŒΈπŸ§š

πŸ“¦ where this page comes from