Re: fallocate / posix_fallocate for new WAL file creation (etc...) - Mailing list pgsql-hackers

From Stephen Frost
Subject Re: fallocate / posix_fallocate for new WAL file creation (etc...)
Date
Msg-id 20130530124748.GP6434@tamriel.snowman.net
Whole thread Raw
In response to Re: fallocate / posix_fallocate for new WAL file creation (etc...)  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
* Peter Eisentraut (peter_e@gmx.net) wrote:
> On 5/30/13 7:13 AM, Andres Freund wrote:
> > Why? The spec doesn't specify that case and that very well allows other
> > behaviour. Glibc sure does behave sensibly and zeroes the data
> > (sysdeps/posix/posix_fallocate64.c for the generic implementation) and
> > so does linux' fallocate() syscall, but that doesn't say much about
> > other implementations.
>
> glibc actually only writes one byte to every file system block, to make
> sure the block is allocated.  It doesn't actually zero every byte.

That goes back to the 'sane implementation' question..  Is there a case
where that would actually be different from writing zeros for the entire
block..?  Is there some OS that gives you random data for the 'hole'
when you write a byte, seek to the start of the next block and then
write another byte?  That actually *would* be against what's documented
and required by spec, no?
Thanks,
    Stephen

pgsql-hackers by date:

Previous
From: Ray Stell
Date:
Subject: Re: [GENERAL] pg_upgrade -u
Next
From: Stephen Frost
Date:
Subject: Re: fallocate / posix_fallocate for new WAL file creation (etc...)