Sorry for the thread necromancy here. I am somewhat behind on my email. I have added a TODO entry for "-E" to take a block size parameter, such that an error will cause a skip to the start of the next block, as described below.
This won't be in the next release, since I want to get the next release out this month, having put it off for way too long; but hopefully it will appear in another release soon after that. On Fri, Dec 09, 2016 at 04:11:48PM -0500, Anthony DeRobertis wrote: [...] > > Can we safely assume that all files on all filesystems always start at > > the beginning of a block? > > On almost every filesystem, yes. At least for files of non-trivial size. > The performance of partial-sector writes is bad (forces an extra read > first), so filesystems avoid that. The only exceptions you're likely to > see are filesystems designed for tiny flash (embedded) and FUSE stuff > (e.g., read-only access to archives). > > > So perhaps if -E took an argument, we would explicitly state in the > > documentation that on error, PV would skip to the start of the next block, > > and would assume that the file starts at the beginning of a block. So with > > "-E 4k", an error at 2k would skip to 4k, an error at 4k would skip to 8k, > > and so on. > > > > Does this seem reasonable? > > That sounds reasonable. Sensible, even. -- Andrew Wood