Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

lfs_cleanerd(8) [netbsd man page]

LFS_CLEANERD(8) 					    BSD System Manager's Manual 					   LFS_CLEANERD(8)

NAME
lfs_cleanerd -- garbage collect a log-structured file system SYNOPSIS
lfs_cleanerd [-bcDdfmqs] [-i segment-number] [-l load-threshhold] [-n number-of-segments] [-r report-frequency] [-t timeout] node DESCRIPTION
The lfs_cleanerd command starts a daemon process which garbage-collects the log-structured file system residing at the point named by node in the global file system namespace. This command is normally executed by mount_lfs(8) when the log-structured file system is mounted. The daemon will exit within a few minutes of when the file system it was cleaning is unmounted. Garbage collection on a log-structured file system is done by scanning the file system's segments for active, i.e. referenced, data and copy- ing it to new segments. When all of the active data in a given segment has been copied to a new segment that segment can be marked as empty, thus reclaiming the space taken by the inactive data which was in it. The following options are available: -b Use bytes written, rather than segments read, when determining how many segments to clean at once. -c Coalescing mode. For each live inode, check to see if it has too many blocks that are not contiguous, and if it does, rewrite it. After a single pass through the filesystem the cleaner will exit. This option has been reported to corrupt file data; do not use it. -D Stay in the foreground, do not become a daemon process. Does not print additional debugging information (in contrast to -d). -d Run in debug mode. Do not become a daemon process, and print debugging information. More -d s give more detailed debugging informa- tion. -f Use filesystem idle time as the criterion for aggressive cleaning, instead of system load. -i segment-number Invalidate the segment with segment number segment-number. This option is used by resize_lfs(8), and should not be specified on the command line. -l load-threshhold Clean more aggressively when the system load is below the given threshhold. The default threshhold is 0.2. -m Does nothing. This option is present for historical compatibility. -n number-of-segments Clean this number of segments at a time: that is, pass this many segments' blocks through a single call to lfs_markv, or, if -b was also given, pass this many segments' worth of blocks through a single call to lfs_markv. -q Quit after cleaning once. -r report-frequency Give an efficiency report after every report-frequency times through the main loop. -s When cleaning the file system, send only a few blocks through lfs_markv at a time. Don't use this option. -t timeout Poll the filesystem every timeout seconds, looking for opportunities to clean. The default is 300, that is, five minutes. Note that lfs_cleanerd will be automatically awakened when the filesystem is active, so it is not usually necessary to set timeout to a low value. SEE ALSO
lfs_bmapv(2), lfs_markv(2), lfs_segwait(2), mount_lfs(8) HISTORY
The lfs_cleanerd utility first appeared in 4.4BSD. BSD
August 6, 2009 BSD

Check Out this Related Man Page

NEWFS_LFS(8)						    BSD System Manager's Manual 					      NEWFS_LFS(8)

NAME
newfs_lfs -- construct a new LFS file system SYNOPSIS
newfs_lfs [newfs_lfs-options] special DESCRIPTION
newfs_lfs builds a log-structured file system on the specified special device basing its defaults on the information in the disk label. Before running newfs_lfs the disk must be labeled using disklabel(8), the proper fstype is 4.4LFS. Reasonable values for the fsize, bsize, and sgs fields are 1024, 8192, and 7 respectively. The following options define the general layout policies. -A Attempt to compute the appropriate segment size using the formula 4 * bandwidth * access time. The disk is tested for twenty seconds to discover its bandwidth and seek time. -B logical-segment-size The logical segment size of the file system in bytes. If not specified, the segment size is computed by left-shifting the parti- tion label's block size by the amount indicated in the partition table's segshift. If the disklabel indicates a zero block size or segment shift, a compile-time default segment size of 1M is used. -b block-size The block size of the file system in bytes. If not specified, the block size is taken from the partition label, or if the parti- tion label indicates 0, a compile-time default of 8K is used. -F Force creation of an LFS even on a partition labeled as another type. newfs_lfs will use compile-time default values for block and fragment size, and segment shift, unless these are overridden by command-line flags. -f fragment-size The fragment size of the file system in bytes. If not specified, the fragment size is taken from the partition label, or if the partition label indicates 0, a compile-time default of 1K is used. -I interleave Specify the interleave between segments. The default is zero. -i The size of an inode block, in bytes. The default is to use the same size as a fragment, or in a v1 filesystem, the same size as a data block. -L Create a log-structured file system (LFS). This is the default, and this option is provided for compatibility only. -M nsegs Specify lfs_minfreeseg, the number of segments left out of the amount allocated to user data. A higher number increases cleaner performance, while a lower number gives more usable space. The default is based on the size of the filesystem, either 5% of the total number of segments or 20 segments, whichever is larger. -m free space % The percentage of space reserved from normal users; the minimum free space threshold. The default value used is 10%. -N Do not actually create the filesystem. -O offset Start the first segment this many sectors from the beginning of the partition. The default is zero. -R nsegs Specify lfs_resvseg, the number of segments set aside for the exclusive use of the cleaner. A larger figure reduces the likeli- hood of running out of clean segments, but if lfs_resvseg is too close to lfs_minfreeseg, the cleaner will run without ceasing when the filesystem becomes close to full. The default is the larger of 15 or the quantity lfs_minfreeseg / 2 + 1 . -r ident For a v2 filesystem, specify the roll-forward identifier for the filesystem. This identifier, a 32-bit numeric quantity, should be different from that of any LFS that may previously have existed on the same disk. By default the identifier is chosen at ran- dom. -s size The size of the file system in sectors. -v version Make a filesystem with the specified disk layout version. Valid options are 1 or 2 (the default). Note, however, that LFS ver- sion 1 is deprecated. SEE ALSO
disktab(5), disklabel(8), diskpart(8), dumplfs(8) M. Seltzer, K. Bostic, M. McKusick, and C. Staelin, "An Implementation of a Log-Structured File System for UNIX", Proceedings of the Winter 1993 USENIX Conference, pp. 315-331, January 25-29, 1993. J. Matthews, D. Roselli, A. Costello, R. Wang, and T. Anderson, "Improving the Performance of Log-Structured File Systems with Adaptive Methods", Proceedings of the Sixteenth ACM SOSP, October 1997. HISTORY
A newlfs command appeared in 4.4BSD, and was renamed to newfs_lfs for NetBSD 1.4. BSD
July 12, 2001 BSD
Man Page