]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
cifs: Fix missing fscache invalidation
authorDavid Howells <dhowells@redhat.com>
Fri, 19 Jul 2024 15:01:48 +0000 (16:01 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jul 2024 13:54:06 +0000 (15:54 +0200)
commit a07d38afd15281c42613943a9a715c3ba07c21e6 upstream.

A network filesystem needs to implement a netfslib hook to invalidate
fscache if it's to be able to use the cache.

Fix cifs to implement the cache invalidation hook.

Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: linux-cifs@vger.kernel.org
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Cc: stable@vger.kernel.org
Fixes: 3ee1a1fc3981 ("cifs: Cut over to using netfslib")
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/smb/client/file.c

index 6178c6d8097d180fe0ecc2c2e0e5669e385688e9..01e5a00ad7f6139e1ec6ae5d65951692c3da1d4d 100644 (file)
@@ -123,6 +123,11 @@ fail:
        goto out;
 }
 
+static void cifs_netfs_invalidate_cache(struct netfs_io_request *wreq)
+{
+       cifs_invalidate_cache(wreq->inode, 0);
+}
+
 /*
  * Split the read up according to how many credits we can get for each piece.
  * It's okay to sleep here if we need to wait for more credit to become
@@ -307,6 +312,7 @@ const struct netfs_request_ops cifs_req_ops = {
        .begin_writeback        = cifs_begin_writeback,
        .prepare_write          = cifs_prepare_write,
        .issue_write            = cifs_issue_write,
+       .invalidate_cache       = cifs_netfs_invalidate_cache,
 };
 
 /*