lfs_bmapv(2) - NetBSD Manual Pages

LFS_BMAPV(2)              NetBSD Programmer's 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 corrseponding to the logical block bi_lbn of the file with inode bi_inode. If bi_lbn is LFS_UN- USED_LBN, the disk location of the inode block containing the file's in- ode will be returned in bi_daddr instead. The fsidp argument contains the id of the filesystem to which the inodes and blocks belong. The blkiov argument is an array of BLOCK_INFO struc- tures (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 filesystem.
SEE ALSO
lfs_cleanerd(8), lfs_markv(2), lfs_segclean(2), lfs_segwait(2)
HISTORY
The lfs_bmapv() function call appeared in 4.4BSD. NetBSD 1.5.2 May 23, 2000 1

Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.