Whamcloud - gitweb
LU-17245 utils: fix lfs error messages with multiple paths
[fs/lustre-release.git] / lustre / doc / llverfs.8
1 .TH llverfs 8 "2023 Apr 23" Lustre "configuration utilities"
2 .SH NAME
3 llverfs - filesystem verification tool for ldiskfs based on ext3vt
4 .SH SYNOPSIS
5 .BI llverfs
6 .RB [ -c
7 .I CHUNKSIZE_MB
8 .RB ]
9 .RB [ -h ]
10 .RB [ -o
11 .IR OFFSET_KB ]
12 .RB [ -l "] [" -p "] [" -r ]
13 .RB [ -s
14 .IR SIZE_MB ]
15 .RB [ -t
16 .IR TIMESTAMP ]
17 .RB [ -v "] [" -w ]
18 .I DEVICE
19 .SH DESCRIPTION
20 This program tests the correct operation of large filesystems and
21 the underlying block storage device(s).
22 This tool has two working modes:
23
24 In full mode, the program creates a subdirectory in the test
25 filesystem, writes n (files_in_dir, default=32) large (4GB) files to
26 the directory with the test pattern at the start of each 4KB block.
27 The test pattern contains a timestamp (to detect data written in a prior
28 run), relative file offset and per-file unique identifier (inode number,
29 to detect data written to the wrong location on disk). This continues
30 until the whole filesystem is full and then the tool verifies that the data
31 in all of the test files is correct.
32
33 In partial mode, the tool creates test directories with the
34 EXT2_TOPDIR_FL flag set (if supported) to spread the directory data
35 around the block device instead of localizing it in a single place.
36 The number of directories equals to the number of block groups in the
37 filesystem (e.g. 65536 directories for 8TB ext3/ext4 filesystem) and
38 then writes a single 1MB file in each directory. The tool then verifies
39 that the data in each file is correct.
40 .SH OPTIONS
41 .TP
42 .BR -c | --chunksize " \fICHUNKSIZE_MB"
43 IO chunk size in megabytes (default=1), with optional KMG suffix.
44 .TP
45 .BR -h | --help
46 Display a brief help message.
47 .TP
48 .BR -l | --long | --full
49 Run a full check, 4GB files with 4k blocks
50 .TP
51 .BR -n | --num_dirs " \fICOUNT"
52 \fICOUNT\fR number of sub-directories to create. (\fICOUNT\fR must be >0 and <= INT_MAX)
53 .TP
54 .BR -o | --offset " \fIOFFSET_KB"
55 offset of IO start in kilobytes (default=0), with optional KMGTP suffix.
56 .TP
57 .BR -p | --partial
58 Run a partial check, with 1MB files
59 .TP
60 .BR -r | --read
61 Run test in read (verify) mode only, after having run the test in
62 .B -w
63 mode previously. The flag
64 .B --timestamp
65 is also needed in this case, using the timestamp printed out during the
66 .B --write
67 run.
68 .TP
69 .BR -s | --filesize " \fISIZE_MB"
70 File size in megabytes to use for the test, with optional KMGTP
71 suffix.  The default is 4096MB.
72 .TP
73 .BR -t | --timestamp " \fITIMESTAMP"
74 Set test start time as printed at the start of a previously interrupted test.
75 This is to ensure that read phases (or multiple read phases) after a separate
76 write phase will be able to check the validation data.
77 (default=current time())
78 .TP
79 .BR -v | --verbose
80 Run test in verbose mode, listing each read and write operation.
81 .TP
82 .BR -w | --write
83 Run test in write (test-pattern) mode (default run both read and write)
84 .SH SEE ALSO
85 .BR llverdev (8)