Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Mar 2013 12:44:05 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Attilio Rao <attilio@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
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...
Message-ID:  <5156C1F5.5010600@FreeBSD.org>
In-Reply-To: <201303090232.r292WN6W067161@svn.freebsd.org>
References:  <201303090232.r292WN6W067161@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5156C1F5.5010600>