From: Huiwen He <huiwen.he@linux.dev>
To: smfrench@gmail.com, linkinjeon@kernel.org, pc@manguebit.org,
ronniesahlberg@gmail.com, sprasad@microsoft.com, tom@talpey.com,
bharathsm@microsoft.com, senozhatsky@chromium.org,
dhowells@redhat.com, metze@samba.org, chenxiaosong@kylinos.cn
Cc: linux-cifs@vger.kernel.org
Subject: [PATCH v2 0/3] smb: client: fix i_blocks accounting for swapfile xfstests
Date: Sat, 6 Jun 2026 00:35:16 +0800 [thread overview]
Message-ID: <20260605163519.169916-1-huiwen.he@linux.dev> (raw)
From: Huiwen He <hehuiwen@kylinos.cn>
This series fixes CIFS swapfile xfstests failures caused by incorrect local
i_blocks accounting while cached inode attributes can be used.
The patches cover three cases:
1. Update i_blocks after contiguous writes, so fully written swapfiles do
not look sparse.
2. Do not grow i_blocks on EOF extension, since extending EOF does not
prove that the range was allocated.
3. After EOF-extending fallocate, refresh i_blocks from the
server-reported AllocationSize.
In my setup, the write-created swapfile tests pass with the cifsacl mount
option:
generic/472 generic/494 generic/497
generic/569 generic/636 generic/643
generic/496 also passes with this series when the server really allocates the
fallocated range, for example with Samba:
[scratch_share]
strict allocate = yes
generic/495 depends on the server-reported allocation unit matching the page
size. In my Samba setup this requires:
[global]
block size = 4096
---
Changes since v1:
- Patch 1 was updated to cover more CIFS write paths and to use common
helpers for local i_blocks accounting.
- Patches 2 and 3 are unchanged.
Link to v1:
https://lore.kernel.org/linux-cifs/20260604150349.101716-1-huiwen.he@linux.dev/
---
Thanks,
Huiwen He
Huiwen He (3):
smb/client: update i_blocks after contiguous writes
smb/client: do not account EOF extension as allocation
smb/client: refresh allocation size after fallocate
fs/smb/client/cifsfs.c | 4 ++--
fs/smb/client/cifsfs.h | 1 +
fs/smb/client/cifsglob.h | 9 ++++---
fs/smb/client/file.c | 52 ++++++++++++++++++++++++++++++++++++++++
fs/smb/client/inode.c | 13 +++++++---
fs/smb/client/smb2ops.c | 15 ++++++++++++
6 files changed, 86 insertions(+), 8 deletions(-)
--
2.43.0
next reply other threads:[~2026-06-05 16:35 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-05 16:35 Huiwen He [this message]
2026-06-05 16:35 ` [PATCH v2 1/3] smb/client: update i_blocks after contiguous writes Huiwen He
2026-06-05 16:35 ` [PATCH v2 2/3] smb/client: do not account EOF extension as allocation Huiwen He
2026-06-07 15:33 ` Steve French
2026-06-05 16:35 ` [PATCH v2 3/3] smb/client: refresh allocation size after fallocate Huiwen He
2026-06-07 15:35 ` Steve French
2026-06-07 16:20 ` hehuiwen
2026-06-08 15:28 ` hehuiwen
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=20260605163519.169916-1-huiwen.he@linux.dev \
--to=huiwen.he@linux.dev \
--cc=bharathsm@microsoft.com \
--cc=chenxiaosong@kylinos.cn \
--cc=dhowells@redhat.com \
--cc=linkinjeon@kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=metze@samba.org \
--cc=pc@manguebit.org \
--cc=ronniesahlberg@gmail.com \
--cc=senozhatsky@chromium.org \
--cc=smfrench@gmail.com \
--cc=sprasad@microsoft.com \
--cc=tom@talpey.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.