Hello,
I'm developing a block driver using the make_request method, effectively
bypassing existing scsi or request stack in block layer. So that means im
directly working with bios. 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.
I usually invoke bio_endio during successful I/O completion, meaning with an
error code of zero. But there are cases that this is not fulfilled or there
are error cases. My question is, what are the valid error codes that can be
used with it? My initial impression is that other than zero as error code,
bio_endio will fail. I've read somewhere that -EBUSY is not recognized, and I
tried -EIO but my driver crashed. 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.
What are those error codes, and will they work for my intended function?
Thanks!
Sent from Samsung Mobile
_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies