@@ -133,8 +133,6 @@ static umf_result_t file_initialize(void *params, void **provider) {
133
133
umf_file_memory_provider_params_t * in_params =
134
134
(umf_file_memory_provider_params_t * )params ;
135
135
136
- size_t page_size = utils_get_page_size ();
137
-
138
136
if (in_params -> path == NULL ) {
139
137
LOG_ERR ("file path is missing" );
140
138
return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
@@ -148,8 +146,6 @@ static umf_result_t file_initialize(void *params, void **provider) {
148
146
149
147
memset (file_provider , 0 , sizeof (* file_provider ));
150
148
151
- file_provider -> page_size = page_size ;
152
-
153
149
ret = file_translate_params (in_params , file_provider );
154
150
if (ret != UMF_RESULT_SUCCESS ) {
155
151
goto err_free_file_provider ;
@@ -188,6 +184,12 @@ static umf_result_t file_initialize(void *params, void **provider) {
188
184
}
189
185
}
190
186
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
+
191
193
if (utils_mutex_init (& file_provider -> lock ) == NULL ) {
192
194
LOG_ERR ("lock init failed" );
193
195
ret = UMF_RESULT_ERROR_UNKNOWN ;
@@ -494,7 +496,8 @@ static umf_result_t file_get_recommended_page_size(void *provider, size_t size,
494
496
return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
495
497
}
496
498
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 ;
498
501
499
502
return UMF_RESULT_SUCCESS ;
500
503
}
0 commit comments