From 8a330e5575d9f39d2b7716b238e894a650e9605a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 22 Aug 2022 10:37:29 +0000 Subject: [PATCH] database: Increase page size to 64k Since libloc is currently only using mmap() to map any databases into memory, all mapped address range needs to be page aligned. In the past, every database was aligned to a 4k page boundary. Some architectures use 64k pages by default which could therefore not open the database. This patch changes the alignment to 64k which should hopefully be a good common denominator. However, older database cannot be opened. If we would ever have to support an architecture which's page size is not evenly fitting into 64k, we will have to implement an alternative to mmap. Signed-off-by: Michael Tremer --- src/libloc/format.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libloc/format.h b/src/libloc/format.h index a04c089..064adb9 100644 --- a/src/libloc/format.h +++ b/src/libloc/format.h @@ -32,8 +32,8 @@ enum loc_database_version { #define LOC_DATABASE_DOMAIN "_v%u._db.location.ipfire.org" -#define LOC_DATABASE_PAGE_SIZE 4096 -#define LOC_SIGNATURE_MAX_LENGTH (LOC_DATABASE_PAGE_SIZE / 2) +#define LOC_DATABASE_PAGE_SIZE 65536 +#define LOC_SIGNATURE_MAX_LENGTH 2048 struct loc_database_magic { char magic[7]; -- 2.39.5