]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
smb: fix bytes written value in /proc/fs/cifs/Stats
authorBharath SM <bharathsm.hsk@gmail.com>
Thu, 19 Dec 2024 17:58:50 +0000 (23:28 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Jan 2025 09:34:11 +0000 (10:34 +0100)
[ Upstream commit 92941c7f2c9529fac1b2670482d0ced3b46eac70 ]

With recent netfs apis changes, the bytes written
value was not getting updated in /proc/fs/cifs/Stats.
Fix this by updating tcon->bytes in write operations.

Fixes: 3ee1a1fc3981 ("cifs: Cut over to using netfslib")
Signed-off-by: Bharath SM <bharathsm@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/smb/client/smb2pdu.c

index d1bd69cbfe09a5b11e0eb96c5ae2a00417966024..4750505465ae631c45682f1889a44dd43a8f8724 100644 (file)
@@ -4855,6 +4855,8 @@ smb2_writev_callback(struct mid_q_entry *mid)
                if (written > wdata->subreq.len)
                        written &= 0xFFFF;
 
+               cifs_stats_bytes_written(tcon, written);
+
                if (written < wdata->subreq.len)
                        wdata->result = -ENOSPC;
                else
@@ -5171,6 +5173,7 @@ replay_again:
                cifs_dbg(VFS, "Send error in write = %d\n", rc);
        } else {
                *nbytes = le32_to_cpu(rsp->DataLength);
+               cifs_stats_bytes_written(io_parms->tcon, *nbytes);
                trace_smb3_write_done(0, 0, xid,
                                      req->PersistentFileId,
                                      io_parms->tcon->tid,