<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body ><div><div>Hello,</div><div><br></div><div>I'm developing a block driver using the make_request method, effectively bypassing existing scsi or request stack in block layer. &nbsp;So that means im directly working with bios. &nbsp;As prescribed in linux documentation and from referring to similar drivers in kernel, you close a session with a bio with the bio_endio function.</div><div><br></div><div>I usually invoke bio_endio during successful I/O completion, meaning with an error code of zero. &nbsp;But there are cases that this is not fulfilled or there are error cases. &nbsp;My question is, what are the valid error codes that can be used with it? &nbsp;My initial impression is that other than zero as error code, bio_endio will fail. &nbsp;I've read somewhere that -EBUSY is not recognized, and I tried -EIO but my driver crashed. &nbsp;I got a panic in some dio_xxx function leading from bio_endio(bio,-EIO). I would like to block subsequent bios sent to me after reaching my queue depth and with no tags left, and so I want to use bio_endio with an error code.</div></div><div><br></div><div>What are those error codes, and will they work for my intended function? &nbsp;Thanks!</div><div><br></div><div><br></div><div><br></div><div><div style="font-size:75%;color:#575757">Sent from Samsung Mobile</div></div></body></html>