No description
Find a file
David Howells c8f7c80bb8 cifs: Fix missing set of remote_i_size
[ Upstream commit 93a4315512 ]

Occasionally, the generic/001 xfstest will fail indicating corruption in
one of the copy chains when run on cifs against a server that supports
FSCTL_DUPLICATE_EXTENTS_TO_FILE (eg. Samba with a share on btrfs).  The
problem is that the remote_i_size value isn't updated by cifs_setsize()
when called by smb2_duplicate_extents(), but i_size *is*.

This may cause cifs_remap_file_range() to then skip the bit after calling
->duplicate_extents() that sets sizes.

Fix this by calling netfs_resize_file() in smb2_duplicate_extents() before
calling cifs_setsize() to set i_size.

This means we don't then need to call netfs_resize_file() upon return from
->duplicate_extents(), but we also fix the test to compare against the pre-dup
inode size.

[Note that this goes back before the addition of remote_i_size with the
netfs_inode struct.  It should probably have been setting cifsi->server_eof
previously.]

Fixes: cfc63fc812 ("smb3: fix cached file size problems in duplicate extents (reflink)")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Steve French <sfrench@samba.org>
cc: Paulo Alcantara <pc@manguebit.com>
cc: Shyam Prasad N <nspmangalore@gmail.com>
cc: Rohith Surabattula <rohiths.msft@gmail.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: linux-cifs@vger.kernel.org
cc: netfs@lists.linux.dev
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-12 11:39:44 +02:00
arch riscv: stacktrace: fixed walk_stackframe() 2024-06-12 11:39:42 +02:00
block blk-cgroup: Properly propagate the iostat update up the hierarchy 2024-06-12 11:39:37 +02:00
certs This update includes the following changes: 2023-11-02 16:15:30 -10:00
crypto KEYS: asymmetric: Add missing dependencies of FIPS_SIGNATURE_SELFTEST 2024-05-30 09:44:03 +02:00
Documentation dt-bindings: PCI: rockchip,rk3399-pcie: Add missing maxItems to ep-gpios 2024-06-12 11:39:25 +02:00
drivers null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues' 2024-06-12 11:39:44 +02:00
fs cifs: Fix missing set of remote_i_size 2024-06-12 11:39:44 +02:00
include kasan, fortify: properly rename memintrinsics 2024-06-12 11:39:44 +02:00
init printk: Fix LOG_CPU_MAX_BUF_SHIFT when BASE_SMALL is enabled 2024-06-12 11:39:35 +02:00
io_uring io_uring/net: fix sendzc lazy wake polling 2024-05-30 09:44:09 +02:00
ipc sysctl changes for v6.9-rc1 2024-03-18 14:59:13 -07:00
kernel rv: Update rv_en(dis)able_monitor doc to match kernel-doc 2024-06-12 11:39:41 +02:00
lib ubsan: Restore dependency on ARCH_HAS_UBSAN 2024-06-12 11:39:38 +02:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm mm/userfaultfd: Do not place zeropages when zeropages are disallowed 2024-05-30 09:44:07 +02:00
net nfc: nci: Fix handling of zero-length payload packets in nci_rx_work() 2024-06-12 11:39:43 +02:00
rust rust: remove params from module macro example 2024-04-25 17:34:33 +02:00
samples samples/landlock: Fix incorrect free in populate_ruleset_net 2024-05-30 09:45:01 +02:00
scripts s390/vdso: Create .build-id links for unstripped vdso files 2024-06-12 11:39:23 +02:00
security KEYS: trusted: Do not use WARN when encode fails 2024-05-25 16:30:55 +02:00
sound ASoC: tas2781: Fix wrong loading calibrated data sequence 2024-06-12 11:39:39 +02:00
tools riscv: selftests: Add hwprobe binaries to .gitignore 2024-06-12 11:39:42 +02:00
usr Kbuild updates for v6.8 2024-01-18 17:57:07 -08:00
virt KVM: Drop unused @may_block param from gfn_to_pfn_cache_invalidate_start() 2024-04-11 12:58:53 -07:00
.clang-format clang-format: Update with v6.7-rc4's for_each macro list 2023-12-08 23:54:38 +01:00
.cocciconfig
.editorconfig Add .editorconfig file for basic formatting 2023-12-28 16:22:47 +09:00
.get_maintainer.ignore Add Jeff Kirsher to .get_maintainer.ignore 2024-03-08 11:36:54 +00:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: create a list of all built DTB files 2024-02-19 18:20:39 +09:00
.mailmap 18 hotfixes, 7 of which are cc:stable. 2024-05-10 14:16:03 -07:00
.rustfmt.toml
COPYING
CREDITS MAINTAINERS: Drop Gustavo Pimentel as PCI DWC Maintainer 2024-03-27 13:41:02 -05:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig
MAINTAINERS 18 hotfixes, 7 of which are cc:stable. 2024-05-10 14:16:03 -07:00
Makefile Linux 6.9.3 2024-05-30 09:45:04 +02:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.