[dm-devel] [bug report] dm: add emulated block size target
Heinz Mauelshagen
heinzm at redhat.com
Wed Apr 29 15:09:30 UTC 2020
Thanks for reporting this.
See patch to fix this submitted to dm-devel.
Heinz
On 4/29/20 3:21 PM, Dan Carpenter wrote:
> Hello Heinz Mauelshagen,
>
> The patch d3d11ad3d087: "dm: add emulated block size target" from Mar
> 9, 2020, leads to the following static checker warning:
>
> drivers/md/dm-ebs-target.c:190 __ebs_process_bios()
> warn: assigning signed to unsigned: 'bio->bi_status = r' '(-4095)-0'
>
> drivers/md/dm-ebs-target.c
> 173 if (__block_mod(bio_end_sector(bio), ec->u_bs) && block2 != block1)
> 174 dm_bufio_prefetch(ec->bufio, block2, 1);
> 175 }
> 176 }
> 177
> 178 bio_list_for_each(bio, &bios) {
> 179 r = -EIO;
> 180 if (bio_op(bio) == REQ_OP_READ)
> 181 r = __ebs_rw_bio(ec, READ, bio);
> 182 else if (bio_op(bio) == REQ_OP_WRITE) {
> 183 write = true;
> 184 r = __ebs_rw_bio(ec, WRITE, bio);
> 185 } else if (bio_op(bio) == REQ_OP_DISCARD) {
> 186 /* FIXME: (optionally) call dm_bufio_discard_buffers() once upstream. */
> 187 r = __ebs_forget_bio(ec, bio);
> 188 }
> 189
> 190 bio->bi_status = r;
> ^^^^^^^^^^^^^^^^^^
> "r" is a negative error code and ->bi_status is a u8 so this won't work.
>
> 191 }
> 192
> 193 /*
> 194 * We write dirty buffers after processing I/O on them
> 195 * but before we endio thus addressing REQ_FUA/REQ_SYNC.
> 196 */
> 197 r = write ? dm_bufio_write_dirty_buffers(ec->bufio) : 0;
>
> regards,
> dan carpenter
>
>
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
More information about the dm-devel
mailing list