On Wed, Feb 23, 2011 at 3:53 PM, Alexander Best <arun...@freebsd.org> wrote: > On Wed Feb 23 11, Garrett Cooper wrote: >> On Feb 22, 2011, at 9:51 AM, John Baldwin wrote: >> >> > 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. > > on the other hand POSIX says: > > "The behavior of lseek() on devices which are incapable of seeking is > implementation-defined. > The value of the file offset associated with such a device is undefined." > > ...if we define /dev/{zero,null} as incapable of seeking the current > implementation should be ok. > >> > >> > 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). >> >> You're correct. Linux (Fedora 13) isn't POSIX compliant (this is from >> the official POSIX text): >> >> The lseek ( ) function shall allow the file offset to be set beyond the end >> of the existing data in the file. If data is later written at this point, >> subsequent reads of data in the gap shall return bytes with the value 0 >> until data is actually written into the gap.
Yes, but look at how it's defined by POSIX before you do that (yes, there's a section for null/zero IIRC). Thanks, -Garrett _______________________________________________ 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"