PATCH: Arla 0.90 on OpenBSD 4.3-4.7
Bo Brantén
bosse at acc.umu.se
Thu Jun 3 21:24:01 CEST 2010
Hello,
I have updated my patch for the latest release of OpenBSD.
Bo Brantén
-------------- next part --------------
diff -uprN arla-0.90/nnpfs/bsd/nnpfs/nnpfs_node.h arla-0.90-new/nnpfs/bsd/nnpfs/nnpfs_node.h
--- arla-0.90/nnpfs/bsd/nnpfs/nnpfs_node.h 2006-10-24 18:33:19.000000000 +0200
+++ arla-0.90-new/nnpfs/bsd/nnpfs/nnpfs_node.h 2010-06-03 21:32:17.000000000 +0200
@@ -114,9 +114,13 @@ typedef struct lock nnpfs_vnode_lock;
#else
#define nnpfs_vrele(vp) vrele(vp)
-#define nnpfs_vrecycle(vp, foo, bar) vrecycle(vp, foo, bar)
+#define nnpfs_vrecycle(vp, foo, bar) vrecycle(vp, bar)
#define nnpfs_vput(vp) vput(vp)
+#if (defined(__OpenBSD__) && OpenBSD >= 201005)
+#define nnpfs_vref(vp) vref(vp)
+#else
#define nnpfs_vref(vp) VREF(vp)
+#endif
#define nnpfs_vletgo(vn) nnpfs_vrele(vn)
#define nnpfs_vfs_vattr vattr
diff -uprN arla-0.90/nnpfs/bsd/nnpfs_common-bsd.c arla-0.90-new/nnpfs/bsd/nnpfs_common-bsd.c
--- arla-0.90/nnpfs/bsd/nnpfs_common-bsd.c 2006-10-24 18:33:02.000000000 +0200
+++ arla-0.90-new/nnpfs/bsd/nnpfs_common-bsd.c 2010-06-03 19:20:45.000000000 +0200
@@ -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-0.90/nnpfs/bsd/nnpfs_dev-openbsd.c arla-0.90-new/nnpfs/bsd/nnpfs_dev-openbsd.c
--- arla-0.90/nnpfs/bsd/nnpfs_dev-openbsd.c 2005-11-22 19:20:10.000000000 +0100
+++ arla-0.90-new/nnpfs/bsd/nnpfs_dev-openbsd.c 2010-06-03 19:20:45.000000000 +0200
@@ -54,6 +54,19 @@ nnpfs_dev_unlock(struct nnpfs *chan)
}
int
+nnpfs_dev_msleep(struct nnpfs *chan, caddr_t waitobj, int flags, const char *msg)
+{
+ int ret;
+ NNPFSDEB(XDEBDEV, ("nnpfs_dev_msleep %p %x %s\n", waitobj, flags, msg));
+
+ simple_unlock(&chan->dev_lock);
+ ret = nnpfs_tsleep(waitobj, flags, msg);
+ simple_lock(&chan->dev_lock);
+
+ return ret;
+}
+
+int
nnpfs_dev_initlock(struct nnpfs *chan)
{
simple_lock_init(&chan->dev_lock);
diff -uprN arla-0.90/nnpfs/bsd/nnpfs_vfsops-openbsd.c arla-0.90-new/nnpfs/bsd/nnpfs_vfsops-openbsd.c
--- arla-0.90/nnpfs/bsd/nnpfs_vfsops-openbsd.c 2005-10-28 16:33:39.000000000 +0200
+++ arla-0.90-new/nnpfs/bsd/nnpfs_vfsops-openbsd.c 2010-06-03 19:20:45.000000000 +0200
@@ -112,7 +112,9 @@ static struct vfsconf nnpfs_vfc = {
0,
0,
0,
+#if (OpenBSD < 200811)
NULL,
+#endif
NULL
};
diff -uprN arla-0.90/nnpfs/bsd/nnpfs_vnodeops-bsd.c arla-0.90-new/nnpfs/bsd/nnpfs_vnodeops-bsd.c
--- arla-0.90/nnpfs/bsd/nnpfs_vnodeops-bsd.c 2006-10-31 13:40:06.000000000 +0100
+++ arla-0.90-new/nnpfs/bsd/nnpfs_vnodeops-bsd.c 2010-06-03 19:20:45.000000000 +0200
@@ -576,8 +576,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)) {
@@ -786,7 +790,7 @@ nnpfs_lock(struct vop_lock_args * ap)
ret = lockmgr(l, flags, &vp->v_interlock, NNPFS_AP_PROC(ap));
#endif
#else
- ret = lockmgr(l, flags, &vp->v_interlock);
+ ret = lockmgr(l, flags, NULL);
#endif
#else
ret = debuglockmgr(l, flags, &vp->v_interlock, NNPFS_AP_PROC(ap),
@@ -835,7 +839,7 @@ nnpfs_unlock(struct vop_unlock_args * ap
ret = lockmgr (l, flags | LK_RELEASE, &vp->v_interlock, NNPFS_AP_PROC(ap));
#endif
#else
- ret = lockmgr (l, flags | LK_RELEASE, &vp->v_interlock);
+ ret = lockmgr (l, flags | LK_RELEASE, NULL);
#endif
#else
ret = debuglockmgr (l, flags | LK_RELEASE, &vp->v_interlock, NNPFS_AP_PROC(ap),
More information about the Arla-drinkers
mailing list