Skip to content

dblueman/bcachefs-gym

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Validation exerciser for BcacheFS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages