]> git.baikalelectronics.ru Git - kernel.git/commit
smb3: fix cached file size problems in duplicate extents (reflink)
authorSteve French <stfrench@microsoft.com>
Fri, 26 Mar 2021 23:41:55 +0000 (18:41 -0500)
committerSteve French <stfrench@microsoft.com>
Fri, 26 Mar 2021 23:41:55 +0000 (18:41 -0500)
commite39c0364eb5d7e8a210710dd9f50ed9ae9bb3d01
tree01fd37c431d41c6d443d529e7fb1f8038508f46f
parentef95ef8ac41346afafaf350a193b882aa4049276
smb3: fix cached file size problems in duplicate extents (reflink)

There were two problems (one of which could cause data corruption)
that were noticed with duplicate extents (ie reflink)
when debugging why various xfstests were being incorrectly skipped
(e.g. generic/138, generic/140, generic/142). First, we were not
updating the file size locally in the cache when extending a
file due to reflink (it would refresh after actimeo expires)
but xfstest was checking the size immediately which was still
0 so caused the test to be skipped.  Second, we were setting
the target file size (which could shrink the file) in all cases
to the end of the reflinked range rather than only setting the
target file size when reflink would extend the file.

CC: <stable@vger.kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2ops.c