From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Allison Subject: Enhancement needed to UNIX extensions to correctly support Linux EA's. Date: Tue, 26 Mar 2013 14:22:42 -0700 Message-ID: <20130326212242.GA4391@samba2> Reply-To: Jeremy Allison Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: jra-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org To: Jeff Layton , Steve French , Pavel Shilovsky , linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Return-path: Content-Disposition: inline Sender: linux-cifs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: See bug https://bugzilla.samba.org/show_bug.cgi?id=9743 No way to set zero length EA's with CIFS vfs. I was doing some investigations around bug #9130, where Windows fails to copy a file when we return a zero-length EA associated with it. Looking carefully into this this is a deficiency in the CIFS UNIX protocols. On Linux it's possible to set a zero-length EA on a file/directory as a tag of some kind, with no associated data. On Windows this is impossible - trying to set a zero-length EA will just delete it, plus the EA names are case insensitive (and always returned uppercase). We need to add a UNIX_GET_EAS call that can return all POSIX EA's without mangling case, and can also return zero-length EA's, also we need a UNIX_SET_EAS call that can set a zero length EA, and also has an additional 'flags' field that can delete an EA if set. Please discuss, Jeremy.