Module Name: src
Committed By: pooka
Date: Wed Jul 21 06:58:26 UTC 2010
Modified Files:
src/tests/fs/puffs/h_dtfs: dtfs.c dtfs_vnops.c
Log Message:
support pathconf (more or less copypasted from ufs). for njoly's tests.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/fs/puffs/h_dtfs/dtfs.c
cvs rdiff -u -r1.6 -r1.7 src/tests/fs/puffs/h_dtfs/dtfs_vnops.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/fs/puffs/h_dtfs/dtfs.c
diff -u src/tests/fs/puffs/h_dtfs/dtfs.c:1.1 src/tests/fs/puffs/h_dtfs/dtfs.c:1.2
--- src/tests/fs/puffs/h_dtfs/dtfs.c:1.1 Tue Jul 6 14:16:44 2010
+++ src/tests/fs/puffs/h_dtfs/dtfs.c Wed Jul 21 06:58:25 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: dtfs.c,v 1.1 2010/07/06 14:16:44 pooka Exp $ */
+/* $NetBSD: dtfs.c,v 1.2 2010/07/21 06:58:25 pooka Exp $ */
/*
* Copyright (c) 2006 Antti Kantee. All Rights Reserved.
@@ -206,6 +206,7 @@
PUFFSOP_SET(pops, dtfs, node, readlink);
PUFFSOP_SET(pops, dtfs, node, mknod);
PUFFSOP_SET(pops, dtfs, node, inactive);
+ PUFFSOP_SET(pops, dtfs, node, pathconf);
PUFFSOP_SET(pops, dtfs, node, reclaim);
srandom(time(NULL)); /* for random generation numbers */
Index: src/tests/fs/puffs/h_dtfs/dtfs_vnops.c
diff -u src/tests/fs/puffs/h_dtfs/dtfs_vnops.c:1.6 src/tests/fs/puffs/h_dtfs/dtfs_vnops.c:1.7
--- src/tests/fs/puffs/h_dtfs/dtfs_vnops.c:1.6 Wed Jul 14 21:24:40 2010
+++ src/tests/fs/puffs/h_dtfs/dtfs_vnops.c Wed Jul 21 06:58:25 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: dtfs_vnops.c,v 1.6 2010/07/14 21:24:40 pooka Exp $ */
+/* $NetBSD: dtfs_vnops.c,v 1.7 2010/07/21 06:58:25 pooka Exp $ */
/*
* Copyright (c) 2006 Antti Kantee. All Rights Reserved.
@@ -515,6 +515,47 @@
}
int
+dtfs_node_pathconf(struct puffs_usermount *pu, puffs_cookie_t opc,
+ int name, register_t *retval)
+{
+
+ switch (name) {
+ case _PC_LINK_MAX:
+ *retval = LINK_MAX;
+ return 0;
+ case _PC_NAME_MAX:
+ *retval = NAME_MAX;
+ return 0;
+ case _PC_PATH_MAX:
+ *retval = PATH_MAX;
+ return 0;
+ case _PC_PIPE_BUF:
+ *retval = PIPE_BUF;
+ return 0;
+ case _PC_CHOWN_RESTRICTED:
+ *retval = 1;
+ return 0;
+ case _PC_NO_TRUNC:
+ *retval = 1;
+ return 0;
+ case _PC_SYNC_IO:
+ *retval = 1;
+ return 0;
+ case _PC_FILESIZEBITS:
+ *retval = 43; /* this one goes to 11 */
+ return 0;
+ case _PC_SYMLINK_MAX:
+ *retval = MAXPATHLEN;
+ return 0;
+ case _PC_2_SYMLINKS:
+ *retval = 1;
+ return 0;
+ default:
+ return EINVAL;
+ }
+}
+
+int
dtfs_node_inactive(struct puffs_usermount *pu, puffs_cookie_t opc)
{
struct puffs_node *pn = opc;