1DISORDERFS(1)                                                    DISORDERFS(1)
2
3
4

NAME

6       disorderfs - FUSE filesystem that introduces non-determinism
7

SYNOPSIS

9       disorderfs [OPTIONS...] ROOTDIR MOUNTPOINT
10

DESCRIPTION

12       disorderfs is an overlay FUSE filesystem that introduces
13       non-determinism into filesystem metadata. For example, it can randomize
14       the order in which directory entries are read. This is useful for
15       detecting non-determinism in the build process.
16
17       ROOTDIR is the path to the underlying directory that is to be mirrored,
18       and MOUNTPOINT is where the overlay should be mounted.
19

OPTIONS

21       See fusermount(1), mount.fuse(8), and mount(8) for a full list of
22       options.
23
24       Options specific to disorderfs:
25
26       --multi-user=yes|no
27           Whether or not to allow other users to access the overlay mount
28           (default: no). When enabled, disorderfs accesses the underlying
29           file with the same credentials (user ID, group ID, supplemental
30           group list) as the process accessing the overlaid file. This is
31           different from FUSE’s allow_other option, which allows other users
32           access, but causes disorderfs to access the underlying filesystem
33           with the credentials of the user running disorderfs, which is
34           usually undesirable.
35
36           --multi-user=yes requires disorderfs to run as root.
37
38       --shuffle-dirents=yes|no
39           Whether or not to randomly shuffle directory entries (default: no).
40           The directory entries are shuffled every time the directory is
41           read, so repeated reads of the same directory will probably return
42           different results.
43
44       --reverse-dirents=yes|no
45           Whether or not to return directory entries in reverse order
46           (default: yes).
47
48       --sort-dirents=yes|no
49           Whether or not to return directory entries in sorted order
50           (default: no).
51
52           Note that you need to explicitly override the default
53           --reverse-dirents=no to get results in expected order.
54
55       --pad-blocks=N
56           Add N to the st_blocks field in struct stat(2) (default: 1).
57
58       --share-locks=yes|no
59           Whether or not to share locks between disorderfs and the underlying
60           filesystem (default: no). When this option is enabled, locks
61           created on the underlying filesystem are visible within disorderfs,
62           and vice-versa. When this option is disabled, locks still work
63           within disorderfs, but if one process accesses the underlying
64           filesystem directly, and another process accesses through
65           disorderfs, they won’t see each others' locks.
66
67           Lock sharing is currently buggy, so it is disabled by default.
68
69       --help, -h
70           Display help.
71
72       --version, -V
73           Display the version.
74

BUGS

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

EXAMPLE

80       If you are attempting to test a Reproducible Builds issue, it is
81       recommended you use --sort-dirents=yes instead of --shuffle-dirents=yes
82       to ensure that any difference between builds is deterministic in
83       itself. For example:
84
85           $ mkdir rootdir sorted reversed
86           $ touch rootdir/a rootdir/b rootdir/c (1)
87
88           $ disorderfs --sort-dirents=yes --reverse-dirents=no rootdir sorted (2)
89           $ ls -f sorted
90           .  ..  a  b  c (3)
91
92           $ disorderfs --sort-dirents=yes --reverse-dirents=yes rootdir reversed (4)
93           $ ls -f reversed
94           c  b  a  ..  . (5)
95
96
97        1. First, we create some example files
98        2. Mount rootdir in sorted mode...
99        3. ... and the results are in sorted order.
100        4. We mount rootdir again, sorting the results in reversed
101           order...
102        5. ... and the directory contents are returned in reverse.
103
104       $ fusermount -u sorted $ fusermount -u reversed
105

AUTHORS

107       Andrew Ayer <agwa@andrewayer.name> Chris Lamb <lamby@debian.org>
108
109
110
111                                  2015-08-21                     DISORDERFS(1)
Impressum