Bug #64040
Updated by Matan Breizman 4 months ago
See `PGBackend::interruptible_future<> PGBackend::write_same()`: <pre><code class="text"> if (op.writesame.data_length == 0 || len % op.writesame.data_length != 0 || op.writesame.data_length != osd_op.indata.length()) { throw crimson::osd::invalid_argument(); } </code></pre> any catch-throw usage should probably be replaced by errorator instead and handling the error should result in replying the correct error message back. This is being tested for example in NeoRadosMisc.WriteSame and NeoRadosIo.Limits (which are is now skipped): <pre><code class="text"> // Write length must be a multiple of the pattern length co_await expect_error_code(execute(oid, WriteOp{} .writesame(0, samelen - 1, patbl)), sys::errc::invalid_argument); </code></pre>