]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
selftest: remove error_inject from shadow_write share
authorRalph Boehme <slow@samba.org>
Thu, 21 Dec 2023 18:40:21 +0000 (19:40 +0100)
committerRalph Boehme <slow@samba.org>
Mon, 8 Jan 2024 15:53:35 +0000 (15:53 +0000)
Frankly, I can't remember why I added this as part of bug 13688. The
goal of the corresponding test is to verify a write on a read-only
file handle fails. As the file is opened O_RDONLY, the write will fail
anyway and there's no need to inject the error.

To make things worse, having the error injected meant we didn't notice
when the underlying logic of forcing the open to be done with O_RDONLY
was done as O_RDWR, resulting in the write on the handle to succeed.

This happened when we introduced reopen_from_fsp(): the initial
pathref open of a path with a twrp value was correctly detected and
handled by shadow_copy2_openat(). However, when converting the pathref
open to a real one via reopen_from_fsp(), shadow_copy2_openat() only
sees the magic /proc/fd path and has no way of inferring that this was
originating from a prevous version open with a twrp value.

Tl;dr: we can just remove this error injection, it is not needed, the
correct fix is to implement this in the SMB layer which is done in the
subsequent commits.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13688

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
selftest/knownfail.d/samba3.blackbox.shadow_copy_torture [new file with mode: 0644]
selftest/target/Samba3.pm

diff --git a/selftest/knownfail.d/samba3.blackbox.shadow_copy_torture b/selftest/knownfail.d/samba3.blackbox.shadow_copy_torture
new file mode 100644 (file)
index 0000000..16537e5
--- /dev/null
@@ -0,0 +1 @@
+^samba3.blackbox.shadow_copy_torture.writing to shadow copy of a file\(fileserver\)
index 0375e913a9d78493f6d4e1c9692f2aee655ff10e..bfa9fad5ffed1c780b1ef49df939d66016e10b84 100755 (executable)
@@ -3447,9 +3447,7 @@ sub provision($$)
 [shadow_write]
        path = $shadow_tstdir
        comment = previous versions snapshots under mount point
-       vfs objects = shadow_copy2 streams_xattr error_inject
-       aio write size = 0
-       error_inject:pwrite = EBADF
+       vfs objects = shadow_copy2 streams_xattr
        shadow:mountpoint = $shadow_tstdir
        shadow:fixinodes = yes
        smbd async dosmode = yes