PATCH: Arla CVS Current on OpenBSD 4.4 (and 4.3)
Bo Brantén
bosse at acc.umu.se
Sat Nov 1 13:51:38 CET 2008
Here is a patch for Arla CVS Current on OpenBSD 4.4 and 4.3.
diff -uprN arla-cvs/nnpfs/bsd/nnpfs/nnpfs_node.h arla-cvs-new/nnpfs/bsd/nnpfs/nnpfs_node.h
--- arla-cvs/nnpfs/bsd/nnpfs/nnpfs_node.h 2007-03-06 17:01:56.000000000 +0100
+++ arla-cvs-new/nnpfs/bsd/nnpfs/nnpfs_node.h 2008-10-30 20:11:43.000000000 +0100
@@ -113,7 +113,7 @@ typedef struct lock nnpfs_vnode_lock;
#else
-#if defined(__FreeBSD__) && __FreeBSD_version >= 600000
+#if (defined(__FreeBSD__) && __FreeBSD_version >= 600000 || defined(__OpenBSD__) && OpenBSD >= 200805)
#define nnpfs_vrecycle(vp, foo, bar) vrecycle(vp, bar)
#else
#define nnpfs_vrecycle(vp, foo, bar) vrecycle(vp, foo, bar)
diff -uprN arla-cvs/nnpfs/bsd/nnpfs/nnpfs_vfsops-bsd.h arla-cvs-new/nnpfs/bsd/nnpfs/nnpfs_vfsops-bsd.h
--- arla-cvs/nnpfs/bsd/nnpfs/nnpfs_vfsops-bsd.h 2008-02-26 22:59:18.000000000 +0100
+++ arla-cvs-new/nnpfs/bsd/nnpfs/nnpfs_vfsops-bsd.h 2008-10-30 20:13:19.000000000 +0100
@@ -79,7 +79,7 @@ int
nnpfs_root(struct mount *mp, struct vnode **vpp);
int
-#ifdef HAVE_VFS_QUOTACTL_CADDR
+#if (defined(HAVE_VFS_QUOTACTL_CADDR) || defined (__OpenBSD__) && OpenBSD >= 200805)
nnpfs_quotactl(struct mount *mp, int cmd, uid_t uid, caddr_t arg, d_thread_t *p);
#else
nnpfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg, d_thread_t *p);
diff -uprN arla-cvs/nnpfs/bsd/nnpfs_blocks.c arla-cvs-new/nnpfs/bsd/nnpfs_blocks.c
--- arla-cvs/nnpfs/bsd/nnpfs_blocks.c 2008-02-27 23:16:21.000000000 +0100
+++ arla-cvs-new/nnpfs/bsd/nnpfs_blocks.c 2008-10-23 18:44:04.000000000 +0200
@@ -469,8 +469,8 @@ open_file(struct vnode *cachedir, char *
#ifdef __FreeBSD__
(void)vn_start_write(cachedir, &mp, V_WAIT); /* V_NOWAIT? */
-#endif
VOP_LEASE(cachedir, p, cred, LEASE_WRITE);
+#endif
error = VOP_CREATE(cachedir, vpp, &nd.ni_cnd, &vat);
#ifdef __FreeBSD__
diff -uprN arla-cvs/nnpfs/bsd/nnpfs_common-bsd.c arla-cvs-new/nnpfs/bsd/nnpfs_common-bsd.c
--- arla-cvs/nnpfs/bsd/nnpfs_common-bsd.c 2008-02-26 22:59:06.000000000 +0100
+++ arla-cvs-new/nnpfs/bsd/nnpfs_common-bsd.c 2008-11-01 15:14:25.000000000 +0100
@@ -58,7 +58,11 @@ nnpfs_alloc(u_int size, nnpfs_malloc_typ
NNPFSDEB(XDEBMEM, ("nnpfs_alloc: nnpfs_allocs - nnpfs_frees %d\n",
nnpfs_allocs - nnpfs_frees));
+#if (defined(__OpenBSD__) && OpenBSD >= 200811)
+ ret = malloc(size, type, M_WAITOK);
+#else
MALLOC(ret, void *, size, type, M_WAITOK);
+#endif
return ret;
}
@@ -66,7 +70,11 @@ void
nnpfs_free(void *ptr, u_int size, nnpfs_malloc_type type)
{
nnpfs_frees++;
+#if (defined(__OpenBSD__) && OpenBSD >= 200811)
+ free(ptr, type);
+#else
FREE(ptr, type);
+#endif
}
#endif /* NNPFS_DEBUG */
diff -uprN arla-cvs/nnpfs/bsd/nnpfs_vfsops-bsd.c arla-cvs-new/nnpfs/bsd/nnpfs_vfsops-bsd.c
--- arla-cvs/nnpfs/bsd/nnpfs_vfsops-bsd.c 2008-02-26 22:59:11.000000000 +0100
+++ arla-cvs-new/nnpfs/bsd/nnpfs_vfsops-bsd.c 2008-10-30 20:14:39.000000000 +0100
@@ -84,7 +84,7 @@ nnpfs_root(struct mount *mp, struct vnod
}
int
-#ifdef HAVE_VFS_QUOTACTL_CADDR
+#if (defined(HAVE_VFS_QUOTACTL_CADDR) || defined (__OpenBSD__) && OpenBSD >= 200805)
nnpfs_quotactl(struct mount *mp, int cmd, uid_t uid, caddr_t arg, d_thread_t *p)
#else
nnpfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg, d_thread_t *p)
diff -uprN arla-cvs/nnpfs/bsd/nnpfs_vfsops-openbsd.c arla-cvs-new/nnpfs/bsd/nnpfs_vfsops-openbsd.c
--- arla-cvs/nnpfs/bsd/nnpfs_vfsops-openbsd.c 2005-10-28 16:33:39.000000000 +0200
+++ arla-cvs-new/nnpfs/bsd/nnpfs_vfsops-openbsd.c 2008-11-01 15:10:44.000000000 +0100
@@ -112,7 +112,9 @@ static struct vfsconf nnpfs_vfc = {
0,
0,
0,
+#if (OpenBSD < 200811)
NULL,
+#endif
NULL
};
diff -uprN arla-cvs/nnpfs/bsd/nnpfs_vnodeops-bsd.c arla-cvs-new/nnpfs/bsd/nnpfs_vnodeops-bsd.c
--- arla-cvs/nnpfs/bsd/nnpfs_vnodeops-bsd.c 2008-02-27 23:14:34.000000000 +0100
+++ arla-cvs-new/nnpfs/bsd/nnpfs_vnodeops-bsd.c 2008-11-01 15:16:57.000000000 +0100
@@ -596,8 +596,12 @@ nnpfs_readdir(struct vop_readdir_args *
ncookies++;
}
+#if (defined(__OpenBSD__) && OpenBSD >= 200811)
+ cookies = malloc(ncookies * sizeof(nnpfs_cookie_t), M_TEMP, M_WAITOK);
+#else
MALLOC(cookies, nnpfs_cookie_t *, ncookies * sizeof(nnpfs_cookie_t),
M_TEMP, M_WAITOK);
+#endif
for (dp = dp_start, cookiep = cookies;
dp < dp_end;
dp = (const struct dirent *)((const char *) dp + dp->d_reclen)) {
@@ -902,8 +906,12 @@ nnpfs_lock(struct vop_lock_args * ap)
ret = lockmgr(l, flags, &vp->v_interlock, NNPFS_AP_PROC(ap));
#endif
#else
+#if (defined(__OpenBSD__) && OpenBSD >= 200805)
+ ret = lockmgr(l, flags, NULL);
+#else
ret = lockmgr(l, flags, &vp->v_interlock);
#endif
+#endif
#else
ret = debuglockmgr(l, flags, &vp->v_interlock, NNPFS_AP_PROC(ap),
"nnpfs_lock", ap->a_vp->filename, ap->a_vp->line);
@@ -948,8 +956,12 @@ nnpfs_unlock(struct vop_unlock_args * ap
ret = lockmgr (l, flags | LK_RELEASE, &vp->v_interlock, NNPFS_AP_PROC(ap));
#endif
#else
+#if (defined(__OpenBSD__) && OpenBSD >= 200805)
+ ret = lockmgr (l, flags | LK_RELEASE, NULL);
+#else
ret = lockmgr (l, flags | LK_RELEASE, &vp->v_interlock);
#endif
+#endif
#else
ret = debuglockmgr (l, flags | LK_RELEASE, &vp->v_interlock, NNPFS_AP_PROC(ap),
"nnpfs_lock", ap->a_vp->filename, ap->a_vp->line);
diff -uprN arla-cvs/nnpfs/bsd/nnpfs_vnodeops-common.c arla-cvs-new/nnpfs/bsd/nnpfs_vnodeops-common.c
--- arla-cvs/nnpfs/bsd/nnpfs_vnodeops-common.c 2008-02-26 22:59:13.000000000 +0100
+++ arla-cvs-new/nnpfs/bsd/nnpfs_vnodeops-common.c 2008-10-23 19:54:31.000000000 +0200
@@ -1440,9 +1440,7 @@ nnpfs_readlink_common(struct vnode *vp,
int error = 0;
nnpfs_cred cred;
struct nnpfs *nnpfsp = NNPFS_FROM_VNODE(vp);
-#ifdef HAVE_THREE_ARGUMENT_VOP_UNLOCK
d_thread_t *proc = nnpfs_vfs_context_proc(ctx);
-#endif
NNPFSDEB(XDEBVNOPS, ("nnpfs_readlink\n"));
More information about the Arla-drinkers
mailing list