When debugsfs icheck encounters an io error reading the inode table, it quits without outputting anything. lbatofile then gets and "invalid block" exception. This is the same icheck output as when an out of range block is supplied, but the error message written to stderr is different.
For now, I can make the error more ambiguous, like "Can't map block to inode". But it would be nice to recognize the case of io errors in inode table. Unfortunately, the bad sector in the inode table might be another bad sector, and not the one we are mapping.
When debugsfs icheck encounters an io error reading the inode table, it quits without outputting anything. lbatofile then gets and "invalid block" exception. This is the same icheck output as when an out of range block is supplied, but the error message written to stderr is different.
For now, I can make the error more ambiguous, like "Can't map block to inode". But it would be nice to recognize the case of io errors in inode table. Unfortunately, the bad sector in the inode table might be another bad sector, and not the one we are mapping.