diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man2/lfs_markv.2 | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man2/lfs_markv.2')
| -rw-r--r-- | static/netbsd/man2/lfs_markv.2 | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/static/netbsd/man2/lfs_markv.2 b/static/netbsd/man2/lfs_markv.2 new file mode 100644 index 00000000..f2b4e4d7 --- /dev/null +++ b/static/netbsd/man2/lfs_markv.2 @@ -0,0 +1,129 @@ +.\" $NetBSD: lfs_markv.2,v 1.12 2017/05/14 12:30:37 wiz Exp $ +.\" +.\" Copyright (c) 2000 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Konrad Schroder. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 23, 2000 +.Dt LFS_MARKV 2 +.Os +.Sh NAME +.Nm lfs_markv +.Nd rewrite disk blocks to new disk locations +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In ufs/lfs/lfs.h +.Ft int +.Fn lfs_markv "fsid_t *fsidp" "BLOCK_INFO *blkiov" "int blkcnt" +.Sh DESCRIPTION +.Fn lfs_markv +rewrites the blocks specified in +.Fa blkiov +to new disk locations, for the purposes of grouping them next to one +another, or to move them out of a segment to clean it. +All fields of the BLOCK_INFO structure must be filled in, except for +.Fa bi_segcreate . +If +.Fa bi_daddr +is not the correct current address for logical block +.Fa bi_lbn +of the file with inode number +.Fa bi_inode , +or if the file's version number does not match +.Fa bi_version , +the block will not be written to disk, but no error will be returned. +.Pp +The +.Fa fsidp +argument contains the id of the file system to which the inodes and +blocks belong. +The +.Fa bi_bp +field contains +.Fa bi_size +bytes of data to be written into the appropriate block. +If +.Fa bi_lbn +is specified as LFS_UNUSED_LBN, the inode itself will be rewritten. +.Pp +The +.Fa blkiov +argument is an array of BLOCK_INFO structures (see below). +The +.Fa blkcnt +argument determines the size of the +.Fa blkiov +array. +.Bd -literal +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; +.Ed +.Sh RETURN VALUES +.Fn lfs_markv +returns 0 on success, or \-1 on error. +.Sh ERRORS +An error return from +.Fn lfs_markv +indicates: +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa fsidp +points outside the process's allocated address space. +.It Bq Er EINVAL +.Fa *fsidp +does not specify a valid file system. +.It Bq Er EBUSY +One or more of the inodes whose blocks were to be written was locked, +and its blocks were not rewritten. +.El +.Sh SEE ALSO +.Xr lfs_segclean 2 , +.Xr lfs_segwait 2 , +.Xr lfs_cleanerd 8 +.Sh HISTORY +The +.Fn lfs_markv +function call appeared in +.Bx 4.4 . +.Sh BUGS +The functionality of +.Fn lfs_markv +does not really belong in user space. +Among other things it could be used to work around the +SF_IMMUTABLE +and +SF_APPEND +file flags (see +.Xr chflags 2 ) . |
