From dfe13a1cbae2db365580acffe190f58e5b828ab4 Mon Sep 17 00:00:00 2001 From: marko Date: Thu, 20 Dec 2007 22:09:22 +0000 Subject: [PATCH] branches/zip: Allow a build with UNIV_PAGE_SIZE set to 4096. TRX_RSEG_N_SLOTS: Make the definition dependent of UNIV_PAGE_SIZE. FSP_EXTENT_SIZE: Define as 1 megabyte, as assumed by the code elsewhere. fseg_create_general(): Add a debug assertion against page overflow. --- fsp/fsp0fsp.c | 2 ++ include/fsp0fsp.h | 4 ++-- include/trx0rseg.h | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/fsp/fsp0fsp.c b/fsp/fsp0fsp.c index 9474c08bf3a..d7199e443fb 100644 --- a/fsp/fsp0fsp.c +++ b/fsp/fsp0fsp.c @@ -2172,6 +2172,8 @@ fseg_create_general( ulint i; ut_ad(mtr); + ut_ad(byte_offset + FSEG_HEADER_SIZE + <= UNIV_PAGE_SIZE - FIL_PAGE_DATA_END); latch = fil_space_get_latch(space, &zip_size); diff --git a/include/fsp0fsp.h b/include/fsp0fsp.h index 666e5e602ec..b68bb999b3b 100644 --- a/include/fsp0fsp.h +++ b/include/fsp0fsp.h @@ -24,8 +24,8 @@ fseg_alloc_free_page): */ #define FSP_DOWN ((byte)112) /* alphabetically downwards */ #define FSP_NO_DIR ((byte)113) /* no order */ -/* File space extent size in pages */ -#define FSP_EXTENT_SIZE 64 +/* File space extent size (one megabyte) in pages */ +#define FSP_EXTENT_SIZE (1 << (20 - UNIV_PAGE_SIZE_SHIFT)) /* On a page of any file segment, data may be put starting from this offset: */ #define FSEG_PAGE_DATA FIL_PAGE_DATA diff --git a/include/trx0rseg.h b/include/trx0rseg.h index d58bd4177a2..9fb46ade557 100644 --- a/include/trx0rseg.h +++ b/include/trx0rseg.h @@ -116,7 +116,7 @@ trx_rseg_create( /* Number of undo log slots in a rollback segment file copy */ -#define TRX_RSEG_N_SLOTS 1024 +#define TRX_RSEG_N_SLOTS (UNIV_PAGE_SIZE / 16) /* Maximum number of transactions supported by a single rollback segment */ #define TRX_RSEG_MAX_N_TRXS (TRX_RSEG_N_SLOTS / 2)