Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fs/ufs and fs/lustre: change mca var type #12846

Merged
merged 1 commit into from
Oct 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions ompi/mca/fs/lustre/fs_lustre_component.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,15 @@ int mca_fs_lustre_priority = 20;
int mca_fs_lustre_stripe_size = 0;
int mca_fs_lustre_stripe_width = 0;
int mca_fs_lustre_lock_algorithm = 0; /* auto */

static const mca_base_var_enum_value_t ompi_fs_lustre_lock_algorithm_modes[] = {
{.value = 0, .string = "auto"},
{.value = 1, .string = "skip locking"},
{.value = 2, .string = "always lock entire file"},
{.value = 3, .string = "lock specific ranges"},
{.string = NULL},
};

/*
* Instantiate the public struct with all of our public information
* and pointers to our public functions in it
Expand Down Expand Up @@ -77,6 +86,8 @@ mca_fs_base_component_2_0_0_t mca_fs_lustre_component = {
static int
lustre_register(void)
{
mca_base_var_enum_t *new_enum;

mca_fs_lustre_priority = 20;
(void) mca_base_component_var_register(&mca_fs_lustre_component.fsm_version,
"priority", "Priority of the lustre fs component",
Expand All @@ -95,15 +106,18 @@ lustre_register(void)
MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
OPAL_INFO_LVL_9,
MCA_BASE_VAR_SCOPE_READONLY, &mca_fs_lustre_stripe_width);

(void) mca_base_var_enum_create("mca_fs_lustre_lock_algorithm", ompi_fs_lustre_lock_algorithm_modes, &new_enum);

mca_fs_lustre_lock_algorithm = 0;
(void) mca_base_component_var_register(&mca_fs_lustre_component.fsm_version,
"lock_algorithm", "Locking algorithm used by the fs ufs component. "
" 0: auto (default), 1: skip locking, 2: always lock entire file, "
"3: lock only specific ranges",
MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
"lock_algorithm", "Locking algorithm used by the fs lustre component. "
"(default: auto)",
MCA_BASE_VAR_TYPE_INT, new_enum, 0, 0,
OPAL_INFO_LVL_9,
MCA_BASE_VAR_SCOPE_READONLY,
&mca_fs_lustre_lock_algorithm );
&mca_fs_lustre_lock_algorithm);
OBJ_RELEASE(new_enum);

return OMPI_SUCCESS;
}
21 changes: 17 additions & 4 deletions ompi/mca/fs/ufs/fs_ufs_component.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@

int mca_fs_ufs_priority = 10;
int mca_fs_ufs_lock_algorithm=0; /* auto */

static const mca_base_var_enum_value_t ompi_fs_ufs_lock_algorithm_modes[] = {
{.value = 0, .string = "auto"},
{.value = 1, .string = "skip locking"},
{.value = 2, .string = "always lock entire file"},
{.value = 3, .string = "lock specific ranges"},
{.string = NULL},
};

/*
* Private functions
*/
Expand Down Expand Up @@ -73,6 +82,8 @@ mca_fs_base_component_2_0_0_t mca_fs_ufs_component = {

static int register_component(void)
{
mca_base_var_enum_t *new_enum;

mca_fs_ufs_priority = 10;
(void) mca_base_component_var_register(&mca_fs_ufs_component.fsm_version,
"priority", "Priority of the fs ufs component",
Expand All @@ -81,15 +92,17 @@ static int register_component(void)
MCA_BASE_VAR_SCOPE_READONLY,
&mca_fs_ufs_priority);

(void) mca_base_var_enum_create("mca_fs_ufs_lock_algorithm", ompi_fs_ufs_lock_algorithm_modes, &new_enum);

mca_fs_ufs_lock_algorithm = 0;
(void) mca_base_component_var_register(&mca_fs_ufs_component.fsm_version,
"lock_algorithm", "Locking algorithm used by the fs ufs component. "
" 0: auto (default), 1: skip locking, 2: always lock entire file, "
"3: lock only specific ranges",
MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
"(default: auto)",
MCA_BASE_VAR_TYPE_INT, new_enum, 0, 0,
OPAL_INFO_LVL_9,
MCA_BASE_VAR_SCOPE_READONLY,
&mca_fs_ufs_lock_algorithm );
&mca_fs_ufs_lock_algorithm);
OBJ_RELEASE(new_enum);

return OMPI_SUCCESS;
}
Loading