Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

lfs_bmapv(2) [netbsd man page]

LFS_BMAPV(2)						      BSD System Calls Manual						      LFS_BMAPV(2)

NAME
lfs_bmapv -- retrieve disk addresses for arrays of blocks LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/types.h> #include <ufs/lfs/lfs.h> int lfs_bmapv(fsid_t *fsidp, BLOCK_INFO *blkiov, int blkcnt); DESCRIPTION
lfs_bmapv() fills in the bi_daddr field for every block listed in the block array blkiov with the disk address corresponding to the logical block bi_lbn of the file with inode bi_inode. If bi_lbn is LFS_UNUSED_LBN, the disk location of the inode block containing the file's inode will be returned in bi_daddr instead. The fsidp argument contains the id of the file system to which the inodes and blocks belong. The blkiov argument is an array of BLOCK_INFO structures (see below). The blkcnt argument determines the size of the blkiov array. typedef struct block_info { ino_t bi_inode; /* inode # */ ufs_daddr_t bi_lbn; /* logical block w/in file */ ufs_daddr_t bi_daddr; /* disk address of block */ time_t bi_segcreate; /* origin segment create time */ int bi_version; /* file version number */ void *bi_bp; /* data buffer */ int bi_size; /* size of the block (if fragment) */ } BLOCK_INFO; RETURN VALUES
lfs_bmapv() returns 0 on success, or -1 on error. ERRORS
An error return from lfs_bmapv() indicates: [EFAULT] fsidp points outside the process's allocated address space. [EINVAL] *fsidp does not specify a valid file system. SEE ALSO
lfs_markv(2), lfs_segclean(2), lfs_segwait(2), lfs_cleanerd(8) HISTORY
The lfs_bmapv() function call appeared in 4.4BSD. BSD
May 23, 2000 BSD

Check Out this Related 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
Man Page