[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[dm-devel] RFC: Adding new block layer error codes



Hi,

Sorry to cc so many FS guys. I am a lowly SCSI guy :), so I have no idea what lists you guys normally hang out on.

The problem is dm-multipath needs more information about why a IO is being failed. If it gets a error because a cable went bad, then we want to retry a new path right away. If it gets a error because the device is dead, then we want to fail it upwards.

Block layer drivers currently return a errno.h type of error code like -EIO or -EOPNOTSUPP to blk_end_request/blk_end_request_all and friends. So a long time ago, I tried to just add new errno values for the block layer to use (http://marc.info/?l=linux-kernel&m=107715299008231&w=2). People did not like this for various reasons.

Next, I tried adding new block layer error codes (http://marc.info/?l=linux-kernel&m=107961883915068&w=2 and again here http://marc.info/?l=linux-scsi&m=112487427230642&w=2 and actually I modified those again a couple times but cannot find the links). My concern with the approach in these patches is that while they work well for errors that dm-multipath needs to handle, I have no idea what File Systems devs need. Also I think this would be useful for RAID.

Now, at work I have lots of bugzillas so I can finally spend some time at work to finish this up, and I want to know what developers need. If the lower layers can tell you what failed (device or connection to a device or driver) and if the lower layers thought the problem was retryable or not from its perspective is that good enough. Something like this http://marc.info/?l=linux-scsi&m=112487427230642&w=2 ?


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]