public inbox for linux-cifs@vger.kernel.org
 help / color / mirror / Atom feed
From: Paulo Alcantara <pc@manguebit.com>
To: Bharath SM <bharathsm.hsk@gmail.com>
Cc: Steve French <smfrench@gmail.com>,
	linux-cifs@vger.kernel.org, David Howells <dhowells@redhat.com>,
	Pierguido Lambri <plambri@redhat.com>,
	Bharath S M <bharathsm@microsoft.com>
Subject: Re: [PATCH] smb: client: fix delay on concurrent opens
Date: Mon, 05 May 2025 10:12:16 -0300	[thread overview]
Message-ID: <3d7d41c055cd314342ec1f33e6332c32@manguebit.com> (raw)
In-Reply-To: <CAGypqWx0xEJRD_7kxNAiyLB5ueSGFda1bkRXECXtUhinVgvV-A@mail.gmail.com>

Bharath SM <bharathsm.hsk@gmail.com> writes:

> If the file has only deferred handles and a handle lease break occurs,
> closing all the handles triggers an implicit acknowledgment. After the
> last handle is closed, the server may release the structures
> associated with the file handle. If the acknowledgment is sent after
> closing all the handles, the server may ignore it or it may return an
> invalid file error, as it could have already freed the handle/lease
> key and related structures. 

I couldn't find anything in the specs related to the above.  Could you
please point me out to the correct specs or is this just theorical?

Have you been able to reproduce the above?  If so, please share the
details.

If the server is returning an invalid file error for a lease break ack
sent by the client that should be a no-op, isn't that a server bug then?

> Additionally, this would result in an extra command being sent to the
> server. This check was added to avoid this case to send lease break
> ack only when openfilelist is not empty.

I understand.  The problem with attempting to save that extra roundtrip
has caused performance problems with our customers accessing their
Windows Server SMB shares.

> I didn't understand why a client would break 'H' lease on a file if
> "one client writing to a file and other client remained the file's
> parent directory."
> Can you please help sharing more details and exact repro steps.?

mount.cifs //srv/share /mnt/1 -o ...,nosharesock
mount.cifs //srv/share /mnt/2 -o ...,nosharesock
tail -f /dev/null > /mnt/1/dir/foo &
mv /mnt/2/dir /mnt/2/dir2

  reply	other threads:[~2025-05-05 13:21 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-28 14:05 [PATCH] smb: client: fix delay on concurrent opens Paulo Alcantara
2025-04-28 14:40 ` Steve French
2025-04-28 14:44   ` Paulo Alcantara
2025-04-30 14:15 ` Steve French
2025-04-30 19:14   ` Paulo Alcantara
     [not found]     ` <CAH2r5mu74CbSKRVi0P7LD57j3t=KxqLX_M6V+qvi-aRE2t9YTw@mail.gmail.com>
2025-04-30 19:44       ` Paulo Alcantara
2025-05-05 10:41     ` Bharath SM
2025-05-05 13:12       ` Paulo Alcantara [this message]
2025-05-05 14:16         ` Bharath SM
2025-05-05 15:05           ` Paulo Alcantara
2025-05-09 11:22             ` Shyam Prasad N
2025-05-12 13:31               ` Paulo Alcantara
2025-05-12 22:47                 ` Steve French
2025-05-12 22:57                   ` Paulo Alcantara

Reply instructions:

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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3d7d41c055cd314342ec1f33e6332c32@manguebit.com \
    --to=pc@manguebit.com \
    --cc=bharathsm.hsk@gmail.com \
    --cc=bharathsm@microsoft.com \
    --cc=dhowells@redhat.com \
    --cc=linux-cifs@vger.kernel.org \
    --cc=plambri@redhat.com \
    --cc=smfrench@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* 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