On Wed, Jun 11, 2025 at 03:12:20PM -0400, Kent Overstreet wrote:
> Fix the error_reads mode - it's incompatible with corrupt_bio_byte, but
> that's only enabled if corrupt_bio_byte is nonzero.
> 
> Cc: Benjamin Marzinski <bmarz...@redhat.com>
> Cc: Mikulas Patocka <mpato...@redhat.com>
> Cc: Mike Snitzer <snit...@kernel.org>
> Cc: dm-devel@lists.linux.dev
> Signed-off-by: Kent Overstreet <kent.overstr...@linux.dev>

Also, I see that you guys still aren't testing your changes properly.

> ---
>  drivers/md/dm-flakey.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/md/dm-flakey.c b/drivers/md/dm-flakey.c
> index c711db6f8f5c..cf17fd46e255 100644
> --- a/drivers/md/dm-flakey.c
> +++ b/drivers/md/dm-flakey.c
> @@ -215,16 +215,19 @@ static int parse_features(struct dm_arg_set *as, struct 
> flakey_c *fc,
>       }
>  
>       if (test_bit(DROP_WRITES, &fc->flags) &&
> -         (fc->corrupt_bio_rw == WRITE || fc->random_write_corrupt)) {
> +         ((fc->corrupt_bio_byte && fc->corrupt_bio_rw == WRITE) ||
> +          fc->random_write_corrupt)) {
>               ti->error = "drop_writes is incompatible with 
> random_write_corrupt or corrupt_bio_byte with the WRITE flag set";
>               return -EINVAL;
>  
>       } else if (test_bit(ERROR_WRITES, &fc->flags) &&
> -                (fc->corrupt_bio_rw == WRITE || fc->random_write_corrupt)) {
> +                ((fc->corrupt_bio_byte && fc->corrupt_bio_rw == WRITE) ||
> +                 fc->random_write_corrupt)) {
>               ti->error = "error_writes is incompatible with 
> random_write_corrupt or corrupt_bio_byte with the WRITE flag set";
>               return -EINVAL;
>       } else if (test_bit(ERROR_READS, &fc->flags) &&
> -                (fc->corrupt_bio_rw == READ || fc->random_read_corrupt)) {
> +                ((fc->corrupt_bio_byte && fc->corrupt_bio_rw == READ) ||
> +                 fc->random_read_corrupt)) {
>               ti->error = "error_reads is incompatible with 
> random_read_corrupt or corrupt_bio_byte with the READ flag set";
>               return -EINVAL;
>       }
> -- 
> 2.49.0
> 

Reply via email to