]> 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)
commite22e2065e77f113692ec421508b0d4beeef0f685
tree01fd37c431d41c6d443d529e7fb1f8038508f46f
parentaeb668627367d0095976a01b5194358bb250fecc
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