This looks ok, but it seems like da_read_buf should just return the error instead of the b_error mess, at whih point we'd basically have xfs_da_read_buf + the salvage flag. But I guess we can apply your patch first to let you make progress first and sort that out later: Reviewed-by: Christoph Hellwig <hch@xxxxxx>