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:
parent
ab76d8e9d6
commit
848b9f05ab
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue