Index: lib/libc/sys/lseek.2 =================================================================== --- lib/libc/sys/lseek.2 +++ lib/libc/sys/lseek.2 @@ -131,8 +131,10 @@ .Dv SEEK_HOLE to optimise their behavior for ranges of zeros, but must not depend on it to find all such ranges in a file. +For convinience and historical reasons, each file is presented as +having a zero-size virtual hole at the very end of the file. The existence of a hole at the end of every data region allows for easy -programming and implies that a virtual hole exists at the end of the file. +programming. Applications should use .Fn fpathconf _PC_MIN_HOLE_SIZE or @@ -176,9 +178,14 @@ For .Dv SEEK_DATA , there are no more data regions past the supplied offset. -For -.Dv SEEK_HOLE , -there are no more holes past the supplied offset. +Due to existence of the virtual hole, for +.Dv SEEK_HOLE +this error is only returned when the +.Fa offset +already points to the end-of-file, otherwise the current +file size (i.e. end-of-file offset) is returned to indicate that there are no +more holes past the supplied +.Fa offset . .It Bq Er EOVERFLOW The resulting file offset would be a value which cannot be represented correctly in an object of type