summaryrefslogtreecommitdiff
path: root/src/cache/backings/file_mapped.c
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-08-26 17:56:52 -0400
committerAndrew Opalach <andrew@akon.city> 2026-08-26 17:56:52 -0400
commit197d41a3e23cab35848f623c6133baccc62aacbe (patch)
tree04943c1de9653de53615e10ced1eab07c2562325 /src/cache/backings/file_mapped.c
parent6094c907b26e21f13373bae6bf3306dbae40af3c (diff)
downloadcamu-197d41a3e23cab35848f623c6133baccc62aacbe.tar.gz
camu-197d41a3e23cab35848f623c6133baccc62aacbe.tar.bz2
camu-197d41a3e23cab35848f623c6133baccc62aacbe.zip
OSD stuff and Android fixes
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/cache/backings/file_mapped.c')
-rw-r--r--src/cache/backings/file_mapped.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/cache/backings/file_mapped.c b/src/cache/backings/file_mapped.c
index 7657a21..24ac005 100644
--- a/src/cache/backings/file_mapped.c
+++ b/src/cache/backings/file_mapped.c
@@ -46,14 +46,12 @@ static void file_backing_unlock(struct cch_backing *backing)
static void file_backing_set_size(struct cch_backing *backing, off_t size, bool expand_to_size)
{
struct cch_backing_file *file = (struct cch_backing_file *)backing;
- al_assert(expand_to_size || size == 0);
nn_mutex_lock(&file->mutex);
file->backing.size = size;
- if ((size_t)size > file->file.size) {
+ if (expand_to_size || (size > 0 && size < file->file.size)) {
nn_file_munmap(&file->file, file->u.map);
nn_file_truncate(&file->file, size);
file->u.map = nn_file_mmap(&file->file);
- file->file.size = size;
}
nn_mutex_unlock(&file->mutex);
}