On Wed, Feb 23, 2011 at 3:36 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.
>> >
>> > 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.
>
> so except for reading from /dev/zero freebsd also isn't posix compliant, 
> right?

Huh...? Please better explain what you mean here.
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"

Reply via email to