]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
cifs: Replace SendReceiveBlockingLock() with SendReceive() plus flags
authorDavid Howells <dhowells@redhat.com>
Tue, 5 Aug 2025 13:16:28 +0000 (14:16 +0100)
committerSteve French <stfrench@microsoft.com>
Fri, 5 Dec 2025 23:10:05 +0000 (17:10 -0600)
commit28405cb5b2fde276036526b0143e60516e26b325
treee6d0fd1ff4bd5310dbf5374053d58d3e5b55af84
parent62432a3f514509b023ae053c4d6d631c2b347e94
cifs: Replace SendReceiveBlockingLock() with SendReceive() plus flags

Replace the smb1 transport's SendReceiveBlockingLock() with SendReceive()
plus a couple of flags.  This will then allow that to pick up the transport
changes there.

The first flag, CIFS_INTERRUPTIBLE_WAIT, is added to indicate that the wait
should be interruptible and the second, CIFS_WINDOWS_LOCK, indicates that
we need to send a Lock command with unlock type rather than a Cancel.

send_lock_cancel() is then called from cifs_lock_cancel() which is called
from the main transport loop in compound_send_recv().

[!] I *think* the error code handling is probably right.

Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Paulo Alcantara (Red Hat) <pc@manguebit.org>
cc: Shyam Prasad N <sprasad@microsoft.com>
cc: Tom Talpey <tom@talpey.com>
cc: linux-cifs@vger.kernel.org
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/cifsglob.h
fs/smb/client/cifsproto.h
fs/smb/client/cifssmb.c
fs/smb/client/cifstransport.c
fs/smb/client/smb1ops.c
fs/smb/client/transport.c