Module Name:    src
Committed By:   christos
Date:           Mon Mar 10 22:18:07 UTC 2025

Modified Files:
        src/lib/libc/sys: extattrctl.2

Log Message:
Correct errors in previous and explain the UFS1 extended attribute
implementation.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/lib/libc/sys/extattrctl.2

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/sys/extattrctl.2
diff -u src/lib/libc/sys/extattrctl.2:1.3 src/lib/libc/sys/extattrctl.2:1.4
--- src/lib/libc/sys/extattrctl.2:1.3	Sun Mar  9 14:58:18 2025
+++ src/lib/libc/sys/extattrctl.2	Mon Mar 10 18:18:07 2025
@@ -1,4 +1,4 @@
-.\" $NetBSD: extattrctl.2,v 1.3 2025/03/09 18:58:18 wiz Exp $
+.\" $NetBSD: extattrctl.2,v 1.4 2025/03/10 22:18:07 christos Exp $
 .\" Copyright (c) 2025 The NetBSD Foundation, Inc.
 .\" All rights reserved.
 .\"
@@ -43,6 +43,22 @@ The
 system call provides low-level control over extended attributes on a UFS1
 filesystem.
 It allows enabling, disabling, and managing extended attributes.
+.Pp
+Since was no provision in the UFS1 filesystem for attributes,
+they are stored as regular files and directories in the filesystem under the
+.Pa "/.attribute"
+directory.
+By convention, are usually two directories directly under, separating two
+namespaces:
+.Dq user
+and
+.Dq system .
+Under these, named attributes that can be created and managed using
+.Xr extattrctl 8 .
+.Pp
+This programming interface is currently only used by
+.Xr extattrctl 8 ,
+and is not intended for general use.
 .Sh PARAMETERS
 .Bl -tag -width indent
 .It Fa path
@@ -51,13 +67,13 @@ The path to the mount point of the files
 The command to execute.
 Valid commands are:
 .Bl -tag -width indent
-.It Dv EXTATTR_CMD_ENABLE
+.It Dv UFS_EXTATTR_CMD_ENABLE
 Enable a specific extended attribute.
-.It Dv EXTATTR_CMD_DISABLE
+.It Dv UFS_EXTATTR_CMD_DISABLE
 Disable a specific extended attribute.
-.It Dv EXTATTR_CMD_START
+.It Dv UFS_EXTATTR_CMD_START
 Start extended attribute support on the filesystem.
-.It Dv EXTATTR_CMD_STOP
+.It Dv UFS_EXTATTR_CMD_STOP
 Stop extended attribute support on the filesystem.
 .El
 .It Fa attrname
@@ -87,8 +103,9 @@ Enable an attribute on a filesystem:
 #include <sys/extattr.h>
 #include <ufs/ufs/extattr.h>
 
-if (extattrctl("/home", EXTATTR_CMD_ENABLE,
-    "user.comment", EXTATTR_NAMESPACE_USER, NULL) == -1)
+if (extattrctl("/home", UFS_EXTATTR_CMD_ENABLE,
+    "comment", EXTATTR_NAMESPACE_USER,
+    "/.attribute/user/comment") == -1)
 	err(EXIT_FAILURE, "extattrctl");
 .Ed
 .Sh ERRORS
@@ -109,7 +126,8 @@ The filesystem does not support extended
 .Xr extattr_delete_file 2 ,
 .Xr extattr_get_file 2 ,
 .Xr extattr_list_file 2 ,
-.Xr extattr_set_file 2
+.Xr extattr_set_file 2 ,
+.Xr extattrctl 8 .
 .Sh HISTORY
 The
 .Fn extattrctl

Reply via email to