about "ea support" parameter

Leo Fan xfan at vmware.com
Thu Nov 26 12:31:13 UTC 2020

Hi Ralph,

Thanks for your quick response!

Glad to know both Windows and MAC apps make heave use of streams but not EAs, I am more confident that we can disable EA support.
Both Data streams and EAs are used to store extra (meta)data of files/directories.
I am curious which kind of applications would use EA.

Leo Fan

On 2020/11/26, 6:28 PM, "Ralph Boehme" <slow at samba.org> wrote:

    Am 11/26/20 um 10:57 AM schrieb Leo Fan via samba-technical:
    > Hi samba experts,
    > I need your help to understand the smb.conf parameter ‘ea support’. 
    > We are developing a customized samba service to serve Windows 10
    > clients and MAC OS clients. And, we would like to set ‘EA support =
    > no’ to gain more performance of ‘dir’ command especially on the large
    > directory, but as smb.conf doc says, EA support disablement will
    > impact Windows file service compatibility.
    > The default has changed to yes in Samba release 4.9.0 and above to
    > allow better Windows fileserver compatibility in a default install.
    To give you some background: that change untangled the previous mixture
    of configuring both SMB level behaviour *and* backend storage behaviour.
    Nowadays this parameter only configures the SMB level behaviour, ie if
    we support EAs in the protocol. There are various ways a client get
    list, get and set EAs over SMB, by setting "ea support = no" all of
    those will fail with an error, probably NT_STATUS_NOT_SUPPORTED.
    However, if when setting "ea support = no" Samba will still use xattrs
    in the backend as storage for various bits and pieces like DOS
    attributes, creation date, ACLs and so on.
    > I am not quite clear about compatibility problem with EA support
    > disablement, and have some questions:
    > 1.  In which scenarios will there be windows file service
    > compatibility?
    As explained above, you disable something which a Windows server
    supports. Hell may brake loose or you may never notice a difference in
    client behaviour, you never know.
    > 2.  How do we create and use EA?
    There are various SMB info level to get and set them, cf MS-FSA/MS-FSCC.
    > 3.  Does any well-known Windows/MAC application use EA?
    I'm not aware of any. Both make heave use of streams, but not EAs. The
    macOS client maps local xattrs to SMB streams and you typically enable
    on of the streams modules on the server to support streams. With
    streams_xattrs the streams then again end up being stored in xattrs on
    the server.
    Ralph Boehme, Samba Team                https://samba.org/
    Samba Developer, SerNet GmbH   https://sernet.de/en/samba/
    GPG-Fingerprint   FAE2C6088A24252051C559E4AA1E9B7126399E46

More information about the samba-technical mailing list