]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
smb3: fix Open files on server counter going negative
authorSteve French <stfrench@microsoft.com>
Sun, 7 Apr 2024 04:16:08 +0000 (23:16 -0500)
committerSteve French <stfrench@microsoft.com>
Thu, 11 Apr 2024 21:02:02 +0000 (16:02 -0500)
We were decrementing the count of open files on server twice
for the case where we were closing cached directories.

Fixes: 8e843bf38f7b ("cifs: return a single-use cfid if we did not get a lease")
Cc: stable@vger.kernel.org
Acked-by: Bharath SM <bharathsm@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/cached_dir.c

index 13a9d7acf8f8ec151323d18d44a346e060bf0ce2..0ff2491c311d8a669c709fb94eb4a16a54515c68 100644 (file)
@@ -433,8 +433,8 @@ smb2_close_cached_fid(struct kref *ref)
        if (cfid->is_open) {
                rc = SMB2_close(0, cfid->tcon, cfid->fid.persistent_fid,
                           cfid->fid.volatile_fid);
-               if (rc != -EBUSY && rc != -EAGAIN)
-                       atomic_dec(&cfid->tcon->num_remote_opens);
+               if (rc) /* should we retry on -EBUSY or -EAGAIN? */
+                       cifs_dbg(VFS, "close cached dir rc %d\n", rc);
        }
 
        free_cached_dir(cfid);