Use correctly-sized buffer when zero-filling a WAL file.

I mixed up BLCKSZ and XLOG_BLCKSZ when I changed the way the buffer is
allocated a couple of weeks ago. With the default settings, they are both
8k, but they can be changed at compile-time.
This commit is contained in:
Heikki Linnakangas 2014-04-16 10:21:09 +03:00
parent ab76d8e9d6
commit 848b9f05ab
1 changed files with 2 additions and 2 deletions

View File

@ -3079,7 +3079,7 @@ XLogFileInit(XLogSegNo logsegno, bool *use_existent, bool use_lock)
{ {
char path[MAXPGPATH]; char path[MAXPGPATH];
char tmppath[MAXPGPATH]; char tmppath[MAXPGPATH];
char zbuffer_raw[BLCKSZ + MAXIMUM_ALIGNOF]; char zbuffer_raw[XLOG_BLCKSZ + MAXIMUM_ALIGNOF];
char *zbuffer; char *zbuffer;
XLogSegNo installed_segno; XLogSegNo installed_segno;
int max_advance; int max_advance;
@ -3139,7 +3139,7 @@ XLogFileInit(XLogSegNo logsegno, bool *use_existent, bool use_lock)
* cycles transferring data to the kernel. * cycles transferring data to the kernel.
*/ */
zbuffer = (char *) MAXALIGN(zbuffer_raw); zbuffer = (char *) MAXALIGN(zbuffer_raw);
memset(zbuffer, 0, BLCKSZ); memset(zbuffer, 0, XLOG_BLCKSZ);
for (nbytes = 0; nbytes < XLogSegSize; nbytes += XLOG_BLCKSZ) for (nbytes = 0; nbytes < XLogSegSize; nbytes += XLOG_BLCKSZ)
{ {
errno = 0; errno = 0;