From owner-svn-src-head@FreeBSD.ORG Sat Mar 30 10:44:10 2013 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 486A08EF; Sat, 30 Mar 2013 10:44:10 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id E1B7AC2D; Sat, 30 Mar 2013 10:44:08 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id MAA00777; Sat, 30 Mar 2013 12:44:07 +0200 (EET) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1ULtGY-000Obb-RH; Sat, 30 Mar 2013 12:44:06 +0200 Message-ID: <5156C1F5.5010600@FreeBSD.org> Date: Sat, 30 Mar 2013 12:44:05 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130321 Thunderbird/17.0.4 MIME-Version: 1.0 To: Attilio Rao Subject: Re: svn commit: r248084 - in head/sys: amd64/amd64 arm/arm cddl/compat/opensolaris/kern cddl/compat/opensolaris/sys cddl/contrib/opensolaris/uts/common/fs/zfs cddl/contrib/opensolaris/uts/common/fs/zfs... References: <201303090232.r292WN6W067161@svn.freebsd.org> In-Reply-To: <201303090232.r292WN6W067161@svn.freebsd.org> X-Enigmail-Version: 1.5.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Mar 2013 10:44:10 -0000 on 09/03/2013 04:32 Attilio Rao said the following: > * The vm/vm_pager.h namespace pollution avoidance (forcing requiring > sys/mutex.h in consumers directly to cater its inlining functions > using VM_OBJECT_LOCK()) imposes that all the vm/vm_pager.h > consumers now must include also sys/rwlock.h. > * zfs requires a quite convoluted fix to include FreeBSD rwlocks into > the compat layer because the name clash between FreeBSD and solaris > versions must be avoided. > At this purpose zfs redefines the vm_object locking functions > directly, isolating the FreeBSD components in specific compat stubs. I would like to ask your advice on the following problem. I am implementing zfs_putpages (optimized VOP_PUTPAGES for ZFS) and for that I need some definitions from vm_pager.h. So I need to include vm/vm_pager.h in zfs_vnops.c. According to the first bullet above I have to include sys/rwlock.h, but because of what is described in the second bullet I can not do that. So what can I do? -- Andriy Gapon