From: Steve French <firstname.lastname@example.org>
To: Jeremy Allison <email@example.com>
Cc: Pavel Shilovsky <firstname.lastname@example.org>,
Subject: Re: [PATCH] cifs/smb3: directory sync should not return an error
Date: Thu, 10 May 2018 16:56:16 -0500 [thread overview]
Message-ID: <CAH2r5mv-ccfA2vVD6sT8j7cYz1OAEh5PwS31NExr=CTYQUevsg@mail.gmail.com> (raw)
checking various Linux file systems - looks like most of those I
checked end up with the default "EINVAL" so basically not a very
useful call to check the return code on - safer to ignore. If others
prefer, I don't mind sending the call over the wire and ignoring the
return code - but presumably some server is going to error unusually
if we pass it over the wire and expect particularly return codes (and
thus break apps that check for rc==EINVAL or rc==0).
On Thu, May 10, 2018 at 3:28 PM, Steve French <email@example.com> wrote:
> It wasn't sent to Samba - the error was returned by the VFS before it
> comes to cifs.ko because we don't implement this call. NFS
> (correctly presumably) implements the syscall by ignoring it
> (returning 0 - rather than the default which is an error), because
> once an entry in the directory is created it is in the namespace, and
> they are never cached on the client.
> On Thu, May 10, 2018 at 1:48 PM, Jeremy Allison <firstname.lastname@example.org> wrote:
>> On Thu, May 10, 2018 at 10:11:43AM -0700, Pavel Shilovsky via samba-technical wrote:
>>> 2018-05-10 9:04 GMT-07:00 Steve French via samba-technical
>>> > As with NFS, which ignores sync on directory handles,
>>> > fsync on a directory handle is a noop for CIFS/SMB3.
>>> > Do not return an error on it. It breaks some database
>>> > apps otherwise.
>>> Reviewed-by: Pavel Shilovsky <email@example.com>
>> NAK on this patch. It's due to a specific Samba server
>> bug, which I've just fixed.
>> Look at the man page for fsync() on directory handles
>> - in SMB2+ as well this is a useful thing for an
>> application to do.
>> The broken Samba server returns NT_STATUS_ACCESS_DENIED
>> here. What you need to do is test the popular servers
>> (Windows, NetApp, EMC, Samba, OSX) and see which of
>> them are broken (not Windows obviously) and if so
>> what errors they return.
>> Best case scenario it's just Samba that was broken,
>> so check for the specific NT_STATUS_ACCESS_DENIED
>> error and ignore, otherwise return the error to
>> the caller - they *NEED* it :-).
next prev parent reply other threads:[~2018-05-10 21:56 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-10 16:04 [PATCH] cifs/smb3: directory sync should not return an error Steve French
2018-05-10 16:37 ` Jeremy Allison
2018-05-10 17:11 ` Pavel Shilovsky
2018-05-10 18:48 ` Jeremy Allison
2018-05-10 20:28 ` Steve French
2018-05-10 21:56 ` Steve French [this message]
2018-05-10 22:08 ` ronnie sahlberg
2018-05-10 22:12 ` Jeremy Allison
2018-05-10 22:25 ` Steve French
2018-05-10 23:06 ` Jeremy Allison
2018-05-10 21:01 ` ronnie sahlberg
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).