See https://github.com/filecoin-project/lotus/issues/518. Proposed solution is to set deadlines on the underlying I/O object.