Project

General

Profile

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> 

Back