disorderfs(1) FUSE filesystem that introduces non-determinism

SYNOPSIS

disorderfs [OPTIONS...] ROOTDIR MOUNTPOINT

DESCRIPTION

disorderfs is an overlay FUSE filesystem that introduces non-determinism into filesystem metadata. For example, it can randomize the order in which directory entries are read. This is useful for detecting non-determinism in the build process.

ROOTDIR is the absolute path to the underlying directory that is to be mirrored, and MOUNTPOINT is where the overlay should be mounted.

OPTIONS

See fusermount(1), mount.fuse(8), and mount(8) for a full list of options.

Options specific to disorderfs:

--multi-user=yes|no

Whether or not to allow other users to access the overlay mount (default: no). When enabled, disorderfs accesses the underlying file with the same credentials (user ID, group ID, supplemental group list) as the process accessing the overlaid file. This is different from FUSE's allow_other option, which allows other users access, but causes disorderfs to access the underlying filesystem with the credentials of the user running disorderfs, which is usually undesirable.

--multi-user=yes requires disorderfs to run as root.

--shuffle-dirents=yes|no

Whether or not to randomly shuffle directory entries (default: no). The directory entries are shuffled every time the directory is read, so repeated reads of the same directory will probably return different results.

--reverse-dirents=yes|no

Whether or not to return directory entries in reverse order (default: yes).

--pad-blocks=N

Add N to the st_blocks field in struct stat(2) (default: 1).

--share-locks=yes|no

Whether or not to share locks between disorderfs and the underlying filesystem (default: no). When this option is enabled, locks created on the underlying filesystem are visible within disorderfs, and vice-versa. When this option is disabled, locks still work within disorderfs, but if one process accesses the underlying filesystem directly, and another process accesses through disorderfs, they won't see each others' locks.

Lock sharing is currently buggy, so it is disabled by default.

--help, -h

Display help.

--version, -V

Display the version.

BUGS

ROOTDIR must be specified as an absolute path (MOUNTPOINT may be absolute or relative).

--share-locks=yes is currently buggy: programs may report that a file is locked when it really isn't.

AUTHOR

Andrew Ayer <[email protected]>