PATCH: Arla CVS Current on OpenBSD 4.4 (and 4.3)

Bo Brantén <[email protected]>
Newsgroups gmane.comp.file-systems.arla.general
Message-ID <[email protected]>
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"));
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.