From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Jun 5 14:40:01 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 764FF1065670 for ; Fri, 5 Jun 2009 14:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 50F438FC12 for ; Fri, 5 Jun 2009 14:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n55Ee17A028069 for ; Fri, 5 Jun 2009 14:40:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n55Ee11e028068; Fri, 5 Jun 2009 14:40:01 GMT (envelope-from gnats) Resent-Date: Fri, 5 Jun 2009 14:40:01 GMT Resent-Message-Id: <200906051440.n55Ee11e028068@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, David Naylor Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34CB41065670 for ; Fri, 5 Jun 2009 14:37:06 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 180798FC16 for ; Fri, 5 Jun 2009 14:37:06 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n55Eb5YT024066 for ; Fri, 5 Jun 2009 14:37:05 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id n55Eb5Pm024065; Fri, 5 Jun 2009 14:37:05 GMT (envelope-from nobody) Message-Id: <200906051437.n55Eb5Pm024065@www.freebsd.org> Date: Fri, 5 Jun 2009 14:37:05 GMT From: David Naylor To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/135285: [PATCH] sysutils/fusefs-kmod: Fix build on current X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Jun 2009 14:40:02 -0000 >Number: 135285 >Category: ports >Synopsis: [PATCH] sysutils/fusefs-kmod: Fix build on current >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Jun 05 14:40:00 UTC 2009 >Closed-Date: >Last-Modified: >Originator: David Naylor >Release: FreeBSD 8.0-CURRENT >Organization: Private >Environment: FreeBSD dragon.dg 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Fri Jun 5 10:09:06 SAST 2009 root@dragon.dg:/tmp/usr/src/sys/GENERIC i386 >Description: r193187 removes vfs_bio_set_validclean in favour of vfs_bio_set_valid. The two appear to be functionally the same. >How-To-Repeat: make -C/usr/ports/sysutils/fusefs-kmod all >Fix: See attached for the patches that use vfs_bio_set_validclean as an alias for vfs_bio_set_valid if vfs_bio_set_validclean is not defined. (Compile tested only) Patch attached with submission follows: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # fusefs_kmod # fusefs_kmod/files # fusefs_kmod/files/patch-fuse_module__fuse_io.c # fusefs_kmod/files/patch-fuse_module__fuse_vnops.c # echo c - fusefs_kmod mkdir -p fusefs_kmod > /dev/null 2>&1 echo c - fusefs_kmod/files mkdir -p fusefs_kmod/files > /dev/null 2>&1 echo x - fusefs_kmod/files/patch-fuse_module__fuse_io.c sed 's/^X//' >fusefs_kmod/files/patch-fuse_module__fuse_io.c << '1475d536a980aa9335991ed7208f7f6a' X--- fuse_module/fuse_io.c.orig 2008-02-05 07:25:57.000000000 +0200 X+++ fuse_module/fuse_io.c 2009-06-05 16:25:32.000000000 +0200 X@@ -35,6 +35,10 @@ X #include X #include X X+#ifndef vfs_bio_set_validclean X+#define vfs_bio_set_validclean vfs_bio_set_valid X+#endif X+ X #include "fuse.h" X #include "fuse_session.h" X #include "fuse_vnode.h" X@@ -157,7 +161,11 @@ X goto out; X X if (uio->uio_rw == UIO_WRITE && fp->f_flag & O_APPEND) { X- if ((err = VOP_GETATTR(vp, &va, cred, td))) X+ if ((err = VOP_GETATTR(vp, &va, cred X+#if VOP_GETATTR_TAKES_THREAD X+ , td X+#endif X+ ))) X goto out; X uio->uio_offset = va.va_size; X } else if ((flags & FOF_OFFSET) == 0) X@@ -823,7 +831,11 @@ X #if FUSELIB_CONFORM_BIOREAD X struct vattr va; X X- if ((err = VOP_GETATTR(vp, &va, cred, curthread))) X+ if ((err = VOP_GETATTR(vp, &va, cred X+#if VOP_GETATTR_TAKES_THREAD X+ , curthread X+#endif X+ ))) X goto out; X #endif X 1475d536a980aa9335991ed7208f7f6a echo x - fusefs_kmod/files/patch-fuse_module__fuse_vnops.c sed 's/^X//' >fusefs_kmod/files/patch-fuse_module__fuse_vnops.c << 'c57d47f29b9052dfcb560284ff0fdf77' X--- fuse_module/fuse_vnops.c.orig 2008-02-05 07:25:57.000000000 +0200 X+++ fuse_module/fuse_vnops.c 2009-06-05 16:26:09.000000000 +0200 X@@ -37,6 +37,10 @@ X #include X #include X X+#ifndef vfs_bio_set_validclean X+#define vfs_bio_set_validclean vfs_bio_set_valid X+#endif X+ X #include "fuse.h" X #include "fuse_session.h" X #include "fuse_vnode.h" X@@ -799,8 +803,11 @@ X struct vnode *vp = ap->a_vp; X struct vattr *vap = ap->a_vap; X struct ucred *cred = ap->a_cred; X+#if VOP_GETATTR_TAKES_THREAD X struct thread *td = ap->a_td; X- X+#else X+ struct thread *td = curthread; X+#endif X struct fuse_dispatcher fdi; X struct timespec uptsp; X int err = 0; X@@ -871,7 +878,11 @@ X fuse_access(ap) X struct vop_access_args /* { X struct vnode *a_vp; X+#if VOP_ACCESS_TAKES_ACCMODE_T X+ accmode_t a_accmode; X+#else X int a_mode; X+#endif X struct ucred *a_cred; X struct thread *a_td; X } */ *ap; X@@ -886,7 +897,13 @@ X else X facp.facc_flags |= FACCESS_DO_ACCESS; X X- return fuse_access_i(vp, ap->a_mode, ap->a_cred, ap->a_td, &facp); X+ return fuse_access_i(vp, X+#if VOP_ACCESS_TAKES_ACCMODE_T X+ ap->a_accmode, X+#else X+ ap->a_mode, X+#endif X+ ap->a_cred, ap->a_td, &facp); X } X X /* X@@ -946,7 +963,11 @@ X /* We are to do the check in-kernel */ X X if (! (facp->facc_flags & FACCESS_VA_VALID)) { X- err = VOP_GETATTR(vp, VTOVA(vp), cred, td); X+ err = VOP_GETATTR(vp, VTOVA(vp), cred X+#if VOP_GETATTR_TAKES_THREAD X+ , td X+#endif X+ ); X if (err) X return (err); X facp->facc_flags |= FACCESS_VA_VALID; X@@ -1929,7 +1950,11 @@ X * It will not invalidate pages which are dirty, locked, under X * writeback or mapped into pagetables.") X */ X+#if VOP_GETATTR_TAKES_THREAD X err = vinvalbuf(vp, 0, td, PCATCH, 0); X+#else X+ err = vinvalbuf(vp, 0, PCATCH, 0); X+#endif X fufh->flags |= FOPEN_KEEP_CACHE; X } X X@@ -3005,8 +3030,11 @@ X struct vattr *vap = ap->a_vap; X struct vnode *vp = ap->a_vp; X struct ucred *cred = ap->a_cred; X+#if VOP_GETATTR_TAKES_THREAD X struct thread *td = ap->a_td; X- X+#else X+ struct thread *td = curthread; X+#endif X int err = 0; X struct fuse_dispatcher fdi; X struct fuse_setattr_in *fsai; c57d47f29b9052dfcb560284ff0fdf77 exit >Release-Note: >Audit-Trail: >Unformatted: