Whamcloud - gitweb
libext2fs: optimize ext2fs_convert_subcluster_bitmap()
[tools/e2fsprogs.git] / misc / e4defrag.8.in
1 .TH E4DEFRAG 8 "May 2009" "e4defrag version 2.0"
2 .SH NAME
3 e4defrag \- online defragmenter for ext4 filesystem
4 .SH SYNOPSIS
5 .B e4defrag
6 [
7 .B \-c
8 ]
9 [
10 .B \-v
11 ]
12 .I target
13 \&...
14 .SH DESCRIPTION
15 .B e4defrag
16 reduces fragmentation of extent based file. The file targeted by
17 .B e4defrag
18 is created on ext4 filesystem made with "-O extent" option (see
19 .BR mke2fs (8)).
20 The targeted file gets more contiguous blocks and improves the file access
21 speed.
22 .PP
23 .I target
24 is a regular file, a directory, or a device that is mounted as ext4 filesystem.
25 If
26 .I target
27 is a directory,
28 .B e4defrag
29 reduces fragmentation of all files in it. If
30 .I target
31 is a device,
32 .B e4defrag
33 gets the mount point of it and reduces fragmentation of all files in this mount
34 point.
35 .SH OPTIONS
36 .TP
37 .B \-c
38 Get a current fragmentation count and an ideal fragmentation count, and
39 calculate fragmentation score based on them. By seeing this score, we can
40 determine whether we should execute
41 .B e4defrag
42 to
43 .IR target .
44 When used with
45 .B \-v
46 option, the current fragmentation count and the ideal fragmentation count are
47 printed for each file.
48 .IP
49 Also this option outputs the average data size in one extent. If you see it,
50 you'll find the file has ideal extents or not. Note that the maximum extent
51 size is 131072KB in ext4 filesystem (if block size is 4KB).
52 .IP
53 If this option is specified,
54 .I target
55 is never defragmented.
56 .TP
57 .B \-v
58 Print error messages and the fragmentation count before and after defrag for
59 each file.
60 .SH NOTES
61 .B e4defrag
62 does not support swap file, files in lost+found directory, and files allocated
63 in indirect blocks. When
64 .I target
65 is a device or a mount point,
66 .B e4defrag
67 doesn't defragment files in mount point of other device.
68 .PP
69 It is safe to run e4defrag on a file while it is actively in use by another
70 application.  Since the contents of file blocks are copied using the
71 page cache, this can result in a performance slowdown to both e4defrag
72 and the application due to contention over the system's memory and disk
73 bandwidth.
74 .PP
75 If the file system's free space is fragmented, or if there is
76 insufficient free space available, e4defrag may not be able
77 to improve the file's fragmentation.
78 .PP
79 Non-privileged users can execute
80 .B e4defrag
81 to their own file, but the score is not printed if
82 .B \-c
83 option is specified. Therefore, it is desirable to be executed by root user.
84 .SH AUTHOR
85 Written by Akira Fujita <a-fujita@rs.jp.nec.com> and Takashi Sato
86 <t-sato@yk.jp.nec.com>.
87 .SH SEE ALSO
88 .BR mke2fs (8),
89 .BR mount (8).
90