Bug 6591 - does not compile vfs module zfsacl.so
Summary: does not compile vfs module zfsacl.so
Status: RESOLVED WONTFIX
Alias: None
Product: Samba 3.3
Classification: Unclassified
Component: Build environment (show other bugs)
Version: 3.3.7
Hardware: x64 FreeBSD
: P3 normal
Target Milestone: ---
Assignee: Björn Jacke
QA Contact: Samba QA Contact
URL: http://forum.lissyara.su/viewtopic.ph...
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-30 07:24 UTC by Dorlas
Modified: 2009-07-30 09:37 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dorlas 2009-07-30 07:24:40 UTC
Try compile Samba with options:
./configure --with-acl-support --with-ldap --with-ads --with-shared-modules=nfs4_acls,vfs_zfsacl --with-included-popt

have an error when building vfs_zfsacl.c:

Compiling modules/vfs_zfsacl.c
modules/vfs_zfsacl.c: In function 'zfs_get_nt_acl_common':
modules/vfs_zfsacl.c:42: error: 'ace_t' undeclared (first use in this function)
modules/vfs_zfsacl.c:42: error: (Each undeclared identifier is reported only once
modules/vfs_zfsacl.c:42: error: for each function it appears in.)
modules/vfs_zfsacl.c:42: error: 'acebuf' undeclared (first use in this function)
modules/vfs_zfsacl.c:47: error: 'ACE_GETACLCNT' undeclared (first use in this function)
modules/vfs_zfsacl.c:60: error: expected expression before ')' token
modules/vfs_zfsacl.c:65: error: 'ACE_GETACL' undeclared (first use in this function)
modules/vfs_zfsacl.c:82: error: 'ACE_OWNER' undeclared (first use in this function)
modules/vfs_zfsacl.c:85: error: 'ACE_GROUP' undeclared (first use in this function)
modules/vfs_zfsacl.c:88: error: 'ACE_EVERYONE' undeclared (first use in this function)
modules/vfs_zfsacl.c: In function 'zfs_process_smbacl':
modules/vfs_zfsacl.c:106: error: 'ace_t' undeclared (first use in this function)
modules/vfs_zfsacl.c:106: error: 'acebuf' undeclared (first use in this function)
modules/vfs_zfsacl.c:112: error: expected expression before ')' token
modules/vfs_zfsacl.c:130: error: 'ACE_EVERYONE' undeclared (first use in this function)
modules/vfs_zfsacl.c:133: error: 'ACE_OWNER' undeclared (first use in this function)
modules/vfs_zfsacl.c:136: error: 'ACE_GROUP' undeclared (first use in this function)
modules/vfs_zfsacl.c:148: error: 'ACE_SETACL' undeclared (first use in this function)
The following command failed:

I found ACE_ options in /usr/src:
/usr/src/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h

BUT if i try use this acl.h i have new errors...
Comment 1 Volker Lendecke 2009-07-30 07:26:52 UTC
Does it work if you compile on Solaris with ZFS?

Volker
Comment 2 Dorlas 2009-07-30 07:31:24 UTC
> Does it work if you compile on Solaris with ZFS?
> 
> Volker
> 

I use FreeBSD 8.0-BETA2 and don't have Solaris anybody :( (and experience on Solaris)

Before I thought that it works in Solaris, judging by discussions on the Internet.
Comment 3 Volker Lendecke 2009-07-30 07:37:13 UTC
So then it looks like FreeBSD created their own variant of the zfs ACL API. Brilliant. I really wonder why this is a Samba bug.

Feel free to provide a patch to make this work.

Thanks,

Volker
Comment 4 Dorlas 2009-07-30 07:50:46 UTC
Maybe not all that bad?


When I try to compile the object file by using the found acl.h I get is not really such a terrible mistake:

include/acl.h:52: error: expected specifier-qualifier-list before 'o_mode_t'
include/acl.h:63: error: conflicting types for 'acl_t'
/usr/include/sys/acl.h:146: error: previous declaration of 'acl_t' was here
include/acl.h:282: error: conflicting types for 'acl_free'
/usr/include/sys/acl.h:367: error: previous declaration of 'acl_free' was here

I think, base include files (/usr/include/sys/acl.h) and /usr/src/sys/.../acl.h is very differ, because NFS4.ACL adder in FreeBSD code most recently.

It would be excellent if it is before the release time (FreeBSD 8-RELEASE) to correct.
Comment 5 Volker Lendecke 2009-07-30 07:59:33 UTC
Ok, this sounds as if the freebsd library has two conflicting definitions of acl_free. How is a program supposed to work when it wants to modify both "normal" and ZFS acls in the same binary? Please ask the FreeBSD developers how this is supposed to work.

Thanks,

Volker
Comment 6 Björn Jacke 2009-07-30 09:22:29 UTC
last time i took a look at the freebsd port of zfs  it did not include ACL support, especially there is no NFS4 ACL support on FreeBSD. I don't guess that will change anytime soon.

Until FreeBSD will have that (in a couple of years maybe) we'll have to close this as wontfix.
Comment 7 Timur Bakeyev 2009-07-30 09:34:32 UTC
(In reply to comment #5)
> Ok, this sounds as if the freebsd library has two conflicting definitions of
> acl_free. How is a program supposed to work when it wants to modify both
> "normal" and ZFS acls in the same binary? Please ask the FreeBSD developers how

The truth is that ZFS in FreeBSD ATM doesn't support ACLs. The proposed ACLs are going to support NFS4 semantics. The work on it is in progress, but no estimation yet.

Cheers,
Timur.
Comment 8 Björn Jacke 2009-07-30 09:37:41 UTC
they might be faster than "in a couple of years".

http://wiki.freebsd.org/NFSv4_ACLs

has actually some interesting information. But this is still too much work in progress.