EA regression in 3.2?
Corinna Vinschen
corinna at vinschen.de
Fri Jan 9 15:19:50 GMT 2009
Hi,
while testing something in Cygwin on a Samba 3.2.4 share, I suddenly
got a strange error I never encountered when testing on Samba 3.0.x
shares.
Consider a share //server/share. On the Windows side I try to get
a handle to the share and immediately ask for read access to the Extended
Attributes, if available:
status = NtCreateFile (&h,
READ_CONTROL | FILE_READ_ATTRIBUTES | FILE_READ_EA,
&attr, &io, NULL, 0, FILE_SHARE_VALID_FLAGS,
FILE_OPEN,
FILE_OPEN_REPARSE_POINT | FILE_OPEN_FOR_BACKUP_INTENT,
eabuf, easize);
What I expect as status code is either STATUS_EAS_NOT_SUPPORTED if the
share does not support EAs, or STATUS_SUCCESS if the Samba share supports
EAs (with "ea support = yes" in smb.conf).
That's what I get from my Samba 3.0.x shares, at least.
What I get from my Samba 3.2 shares is either STATUS_EAS_NOT_SUPPORTED
if EAs are not supported, or STATUS_INVALID_PARAMETER, if EAs are
supported. That's somewhat surprising and, AFAICS, a bug.
An interesting fact here is that I only get STATUS_INVALID_PARAMETER
for the shares's root dir:
//server/share ==> STATUS_INVALID_PARAMETER
//server/share/file ==> STATUS_SUCCESS
//server/share/subdir ==> STATUS_SUCCESS
//server/share/subdir/file ==> STATUS_SUCCESS
So the problem is restricted to the case where I try to open a share's
root dir.
Here's the question: Is that a regression or is that expected
behaviour in 3.2? If it's expected, what's the reason?
Thanks in advance,
Corinna
More information about the samba-technical
mailing list