On Tuesday, February 22, 2011 11:46:05 am Garrett Cooper wrote:
> (Please bottom post)
> 
> On Tue, Feb 22, 2011 at 8:31 AM, Andrew Duane <adu...@juniper.net> wrote:
> > I thought seeking past EOF was valid; writing something creates a file 
with a hole in it. I always assumed that was standard semantics.
> 
>     That's with SET_HOLE/SET_DATA though, correct? If so, outside of
> that functionality I would assume relatively standard POSIX semantics.

Err, no, you can always seek past EOF and then call write(2) to extend a file 
(it does an implicit ftruncate(2)).  SEEK_HOLE and SEEK_DATA are different, 
they are just used to discover sparse regions within a file.

From the manpage:

     The lseek() system call allows the file offset to be set beyond the end
     of the existing end-of-file of the file.  If data is later written at
     this point, subsequent reads of the data in the gap return bytes of zeros
     (until data is actually written into the gap).

-- 
John Baldwin
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to