summaryrefslogtreecommitdiff
path: root/static/netbsd/man2/lfs_markv.2
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
commit253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch)
treeadf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man2/lfs_markv.2
parenta9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff)
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man2/lfs_markv.2')
-rw-r--r--static/netbsd/man2/lfs_markv.2129
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 ) .