fusefs-kmod-0.3.9.p1.20080208_9 install fails

Ivan Klymenko fidaj at ukr.net
Mon May 7 20:29:00 UTC 2012


В Sun, 6 May 2012 20:01:04 -0400 (EDT)
AN <andy at neu.net> пишет:

> FreeBSD FBSD10 10.0-CURRENT FreeBSD 10.0-CURRENT #15 r234992: Fri
> May  4 01:09:16 EDT 2012
> root at FBSD10:/usr/obj/usr/src/sys/MYKERNEL  amd64
> 
> # cd /usr/ports/sysutils/fusefs-kmod/ && make install clean
> ===>  Building for fusefs-kmod-0.3.9.p1.20080208_9
> ===> fuse_module (all)
> Warning: Object directory not changed from original 
> /usr/ports/sysutils/fusefs-kmod/work/fuse4bsd-498acaef33b0/fuse_module
> cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE
> -nostdinc -I../include -I. -I@ -I@/contrib/altq -finline-limit=8000
> --param inline-unit-growth=100 --param large-function-growth=1000
> -fno-common -fno-omit-frame-pointer  -mcmodel=kernel -mno-red-zone
> -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables
> -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector
> -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes 
> -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef 
> -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
> -fdiagnostics-show-option   -c fuse_vnops.c
> fuse_vnops.c: In function 'fuse_inactive':
> fuse_vnops.c:666: error: too many arguments to function 'vrecycle'
> *** [fuse_vnops.o] Error code 1
> 
> Stop in 
> /usr/ports/sysutils/fusefs-kmod/work/fuse4bsd-498acaef33b0/fuse_module.
> *** [all] Error code 1
> 
> Stop in /usr/ports/sysutils/fusefs-kmod/work/fuse4bsd-498acaef33b0.
> *** [do-build] Error code 1
> 
> Stop in /usr/ports/sysutils/fusefs-kmod.
> *** [install] Error code 1
> 
> Stop in /usr/ports/sysutils/fusefs-kmod.
> 
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to
> "freebsd-ports-unsubscribe at freebsd.org"
> 
> 

You need to replace this file:
/usr/ports/sysutils/fusefs-kmod/files/patch-fuse_module__fuse_vnops.c

the following content:
--- fuse_module/fuse_vnops.c.orig	2008-02-05 07:25:57.000000000 +0200
+++ fuse_module/fuse_vnops.c	2012-04-29 11:29:04.000000000 +0300
@@ -663,7 +663,7 @@
 	if ((err = fuse_recyc_backend(vp, td)))
 		return err;
 
-	vrecycle(vp, td);
+	vrecycle(vp);
 
 	return (0);
 }
@@ -799,8 +799,11 @@
 	struct vnode *vp = ap->a_vp;
 	struct vattr *vap = ap->a_vap;
 	struct ucred *cred = ap->a_cred;
+#if VOP_GETATTR_TAKES_THREAD
 	struct thread *td = ap->a_td;
-
+#else
+	struct thread *td = curthread;
+#endif
 	struct fuse_dispatcher fdi;
 	struct timespec uptsp;
 	int err = 0;
@@ -871,7 +874,11 @@
 fuse_access(ap)
 	struct vop_access_args /* {
 		struct vnode *a_vp;
+#if VOP_ACCESS_TAKES_ACCMODE_T
+		accmode_t a_accmode;
+#else
 		int a_mode;
+#endif
 		struct ucred *a_cred;
 		struct thread *a_td;
 	} */ *ap;
@@ -886,7 +893,13 @@
 	else
 		facp.facc_flags |= FACCESS_DO_ACCESS;
 
-	return fuse_access_i(vp, ap->a_mode, ap->a_cred, ap->a_td, &facp);
+	return fuse_access_i(vp,
+#if VOP_ACCESS_TAKES_ACCMODE_T
+	    ap->a_accmode,
+#else
+	    ap->a_mode,
+#endif
+	    ap->a_cred, ap->a_td, &facp);
 }
 
 /*
@@ -946,7 +959,11 @@
 		/* We are to do the check in-kernel */
 
 		if (! (facp->facc_flags & FACCESS_VA_VALID)) {
-			err = VOP_GETATTR(vp, VTOVA(vp), cred, td);
+			err = VOP_GETATTR(vp, VTOVA(vp), cred
+#if VOP_GETATTR_TAKES_THREAD
+			    , td
+#endif
+			    );
 			if (err)
 				return (err);
 			facp->facc_flags |= FACCESS_VA_VALID;
@@ -1929,7 +1946,11 @@
 		 * It will not invalidate pages which are dirty, locked, under
 		 * writeback or mapped into pagetables.") 
 		 */
+#if VOP_GETATTR_TAKES_THREAD
 		err = vinvalbuf(vp, 0, td, PCATCH, 0);
+#else
+		err = vinvalbuf(vp, 0, PCATCH, 0);
+#endif
 		fufh->flags |= FOPEN_KEEP_CACHE;
 	}
 
@@ -3005,8 +3026,11 @@
 	struct vattr *vap = ap->a_vap;
 	struct vnode *vp = ap->a_vp;
 	struct ucred *cred = ap->a_cred;
+#if VOP_GETATTR_TAKES_THREAD
 	struct thread *td = ap->a_td;
-
+#else
+	struct thread *td = curthread;
+#endif
 	int err = 0;
 	struct fuse_dispatcher fdi;
 	struct fuse_setattr_in *fsai;


More information about the freebsd-ports mailing list