TEST.SSDFS(8)

πŸ“¦ version 4.68, in nixos 26.05, nixpkgs unstable

πŸ’… test.ssdfs(8) β€” the SSDFS file system tester, bestie

okay so real talk: this page is test.ssdfs, and the (8) means it lives in the System Administration Commands corner of the manual (very "we run things around here" of it, honestly). It's the unit-testing utility for the SSDFS file system, and yes, she's the friend who actually checks your work. πŸ”₯


🌸 NAME

test.ssdfs β€” test SSDFS file system. that's it, that's the whole name, periodt.


✨ SYNOPSIS

test.ssdfs [options] device|image-file

you give her a device or an image-file and some options, and she goes to work. πŸŽ€


πŸ¦‹ DESCRIPTION

test.ssdfs performs unit tests for SSDFS file system subsystems. not vibes-based testing, actual unit tests πŸ’… β€” this utility provides comprehensive testing capabilities for various file system components including btrees, bitmaps, mapping tables, and memory primitives. lowkey iconic, no cap.


⭐ OPTIONS

  • -a, --all β€” test all subsystems. the "do everything" button, main character energy fr fr πŸ‘‘
  • -b, --block-bitmap capacity=value,pre-alloc=value,alloc=value,invalidate=value,reserve=value β€” define block bitmap testing options with capacity, pre-allocation, allocation, invalidation, and reservation parameters. five whole knobs to turn πŸŽ›οΈ
  • -d, --shared-dictionary names_number=value,name_len=value,step_factor=value β€” define shared dictionary testing options including number of names, name length, and step factor.
  • -D, --shared-extents-tree extents_number=value,extent_len=value,ref_count_max=value β€” define shared extents tree testing options with number of extents, extent length, and maximum reference count.
  • -e, --extent max_len=value β€” define extent related thresholds with maximum length. just the one threshold, she's low-maintenance 🌸
  • -f, --file max_count=value,max_size=value β€” define file related thresholds including maximum count and size.
  • -h, --help β€” display help message and exit. your emergency exit, we love her πŸ™ˆ
  • -m, --mapping-table iterations=value,mappings_per_iter=value,add_migrations_per_iter=value,exclude_migrations_per_iter=value β€” define PEB mapping table testing options with iterations and migration parameters. note the lowercase -m vs the uppercase -M later, don't mix them up bestie 😭
  • -M, --memory-primitives iterations=value,capacity=value,count=value,item_size=value,test_folio_vector,test_folio_array,test_dynamic_array,test_all β€” define memory primitives testing options for various data structures. she's got flags inside her flags, meta ik πŸ’€
  • -n, --snapshots-tree snapshots_number=value β€” define snapshots tree testing options with number of snapshots.
  • -o, --offset-table capacity=value β€” define offsets table testing options with capacity parameter.
  • -p, --pagesize size β€” page size of target device. supported sizes: 4096, 8192, 16384, 32768 bytes. those four, exactly those four, no improvising 🫢
  • -s, --subsystem subsystem_list β€” define testing subsystems. options: dentries_tree, extents_tree, block_bitmap, offset_table, mapping_table, memory_primitives, segment_bitmap, shared_dictionary, xattr_tree, shared_extents_tree, snapshots_tree. eleven of them, full roster ✨
  • -S, --segment-bitmap iterations=value,using_segs_per_iter=value,used_segs_per_iter=value,pre_dirty_segs_per_iter=value,dirty_segs_per_iter=value,cleaned_segs_per_iter=value β€” define segment bitmap testing options with various segment state parameters.
  • -V, --version β€” print version and exit.
  • -x, --xattr-tree xattrs_number=value,name_len=value,step_factor=value,blob_len=value,blob_pattern=value β€” define xattrs tree testing options with extended attributes parameters.

🧚 TESTABLE SUBSYSTEMS

test.ssdfs can test the following subsystems β€” here's the whole squad, no one left out πŸ’–

  • dentries_tree β€” directory entries btree operations and consistency.
  • extents_tree β€” file extents btree operations and management.
  • block_bitmap β€” block allocation bitmap functionality.
  • offset_table β€” block-to-offset translation table operations.
  • mapping_table β€” Physical Erase Block (PEB) mapping table operations.
  • memory_primitives β€” low-level memory management structures (folio arrays, dynamic arrays).
  • segment_bitmap β€” segment state bitmap operations.
  • shared_dictionary β€” shared string dictionary functionality.
  • xattr_tree β€” extended attributes btree operations.
  • shared_extents_tree β€” shared extents reference tracking.
  • snapshots_tree β€” file system snapshots management.

πŸ’€ EXIT STATUS

test.ssdfs exits with status 0 if all tests pass, or with non-zero status if any test fails. so like, 0 = she's proud of you πŸ₯Ή, anything else = something's wrong and she WILL tell you.


🌈 EXAMPLES

test all subsystems:

# test.ssdfs -a /dev/sdb1

test specific subsystem:

# test.ssdfs -s block_bitmap /dev/sdb1

test block bitmap with custom parameters:

# test.ssdfs -b capacity=1024,pre-alloc=100,alloc=200 /dev/sdb1

test mapping table with specific iterations:

# test.ssdfs -m iterations=100,mappings_per_iter=10 /dev/sdb1

test multiple subsystems:

# test.ssdfs -s dentries_tree,extents_tree,block_bitmap /dev/sdb1

test with custom page size:

# test.ssdfs -p 8192 -a /dev/sdb1

πŸ“ NOTES

test.ssdfs is primarily intended for SSDFS file system development and validation. Test operations may modify the target device/image file, so use with caution on production systems. πŸ’€ seriously bestie, she WRITES to the thing β€” do not just point her at prod and walk away.

some tests may take considerable time to complete, especially with large iteration counts or capacity values. like, go make a snack, she's busy πŸ“

testing helps ensure the reliability and correctness of SSDFS file system implementations across different configurations and workloads. it's giving "character development arc" but for filesystems πŸ’œ


πŸ”₯ SEE ALSO

mkfs.ssdfs(8), fsck.ssdfs(8), dump.ssdfs(8) β€” the rest of the friend group, go say hi πŸ‘‘


🫢 AUTHORS

Viacheslav Dubeyko <slava@dubeyko.com>


Copyright (c) 2021-2026 Viacheslav Dubeyko SPDX-License-Identifier: BSD-3-Clause-Clear


aaaand that's the page! brought to you by ssdfs-utils, dated 2025-08-30 β€” which is literally the same 2025-08-30 stamped in the TEST.SSDFS(8) footer, so jot that down. mwah πŸ’‹ ✨

πŸ“¦ where this page comes from