Skip to content

Commit 95f3b95

Browse files
committed
Fix setting page size in file provider
Signed-off-by: Lukasz Dorau <[email protected]>
1 parent 0787858 commit 95f3b95

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/provider/provider_file_memory.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,6 @@ static umf_result_t file_initialize(void *params, void **provider) {
133133
umf_file_memory_provider_params_t *in_params =
134134
(umf_file_memory_provider_params_t *)params;
135135

136-
size_t page_size = utils_get_page_size();
137-
138136
if (in_params->path == NULL) {
139137
LOG_ERR("file path is missing");
140138
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
@@ -148,8 +146,6 @@ static umf_result_t file_initialize(void *params, void **provider) {
148146

149147
memset(file_provider, 0, sizeof(*file_provider));
150148

151-
file_provider->page_size = page_size;
152-
153149
ret = file_translate_params(in_params, file_provider);
154150
if (ret != UMF_RESULT_SUCCESS) {
155151
goto err_free_file_provider;
@@ -188,6 +184,12 @@ static umf_result_t file_initialize(void *params, void **provider) {
188184
}
189185
}
190186

187+
if (file_provider->is_fsdax) {
188+
file_provider->page_size = FSDAX_PAGE_SIZE_2MB;
189+
} else {
190+
file_provider->page_size = utils_get_page_size();
191+
}
192+
191193
if (utils_mutex_init(&file_provider->lock) == NULL) {
192194
LOG_ERR("lock init failed");
193195
ret = UMF_RESULT_ERROR_UNKNOWN;
@@ -494,7 +496,8 @@ static umf_result_t file_get_recommended_page_size(void *provider, size_t size,
494496
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
495497
}
496498

497-
*page_size = utils_get_page_size();
499+
file_memory_provider_t *file_provider = (file_memory_provider_t *)provider;
500+
*page_size = file_provider->page_size;
498501

499502
return UMF_RESULT_SUCCESS;
500503
}

0 commit comments

Comments
 (0)