Skip to content

Latest commit

 

History

History
23 lines (21 loc) · 981 Bytes

README.md

File metadata and controls

23 lines (21 loc) · 981 Bytes

BcacheFS-gym

BcacheFS-gym is tool to exercise the Linux BcacheFS filesystem, without using local storage.

How to use it

  1. First build it using Go 1.20 or newer:
    $ git clone https://github.com/dblueman/bcachefs-gym
    $ cd bcachefs-gym
    $ go install
    
  2. Launch it as root:
    $ sudo ./bcachefs-gym
    

How it works

  1. BcacheFS-gym loads the brd block-ramdisk kernel module to create in-memory block devices
  2. It runs the bcachefs userspace utility to format a number of block ram devices, randomising format options with constraints
  3. The block devices are mounted using randomised mount options, constrained
  4. A short fio workload is launched with direct and pagecache IO
  5. Background bcachefs maintenance commands are launched at regular intervals
  6. Once the workload completes, the filesystem is unmounted and the process repeats
  7. At any point, if there are errors (non-zero exit code), execution is stopped for analysis