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:56:01 UTC 2013


on 30/03/2013 12:44 Andriy Gapon said the following:
> 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?
> 

Ah, sorry for the noise.
I now see the answer in the commit itself.

-- 
Andriy Gapon


More information about the svn-src-all mailing list