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...

Andriy Gapon avg at FreeBSD.org
Sat Mar 30 10:44:10 UTC 2013


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


More information about the svn-src-all mailing list