Hello Gurus,
Please disregard my earlier mail due to poor formatting
and readability.
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? Or is there a better
way aside from bio_endio? Thanks!
Sent from Samsung Mobile
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies