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