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