From 130a0edc0405e53b45f8b2f8da0b94356480a644 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Mon, 1 Jan 2024 11:23:22 -0500 Subject: wip Signed-off-by: Andrew Opalach --- src/cache/backings/file_common.c | 3 ++- src/cache/backings/file_mapped.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src/cache/backings') diff --git a/src/cache/backings/file_common.c b/src/cache/backings/file_common.c index c0b54c0..232580a 100644 --- a/src/cache/backings/file_common.c +++ b/src/cache/backings/file_common.c @@ -9,7 +9,8 @@ static off_t file_backing_get_size_estimate(struct cch_backing *backing) static bool file_open_internal(struct cch_backing_file *file, str *path, size_t size) { - if (!aki_file_open(&file->file, path, size != 0)) return false; + s32 flags = size != 0 ? AKI_FILE_CREATE : 0; + if (!aki_file_open(&file->file, path, flags)) return false; file->filesize = aki_file_get_filesize(&file->file); if (!size) { file->size = file->filesize; diff --git a/src/cache/backings/file_mapped.c b/src/cache/backings/file_mapped.c index 1b06ad2..4277c21 100644 --- a/src/cache/backings/file_mapped.c +++ b/src/cache/backings/file_mapped.c @@ -43,6 +43,7 @@ static void file_backing_resize(struct cch_backing *backing, size_t size) aki_mutex_lock(&file->mutex); file->size = size; if ((off_t)size > file->filesize) { + // TODO: Unmap, truncate, map? file->u.map = aki_file_mremap(&file->file, size, file->u.map); aki_file_truncate(&file->file, size); file->filesize = size; -- cgit v1.2.3-101-g0448