From 5dc23e2a6f0440d8b801362e36eeb4c1e1c9803c Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 15 Jun 2023 17:49:19 +0600 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8E=20=D1=81=D0=BE=D1=85?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=83=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B9=D1=81=D1=82=D0=B2=20=D0=B2=D0=B2=D0=BE=D0=B4?= =?UTF-8?q?=D0=B0=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- source/ubl-settings-resourcequota.c | 23 ++++++++++++++++++++++- source/ubl-settings-resourcequota.h | 1 + 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index fb16029..5a6c163 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ ubl-settings-resourcequota_ru.po~ source/ubl-cmake.h ubl-settings-resourcequota build/ -compile \ No newline at end of file +compile +vgcore.* \ No newline at end of file diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c index 823dea9..f409087 100644 --- a/source/ubl-settings-resourcequota.c +++ b/source/ubl-settings-resourcequota.c @@ -992,6 +992,8 @@ char* save_format_value(int index) { split_simvol[0] = ','; split_simvol[1] = '\0'; } + value = add_io_str_format_ubconfig(value, "IOReadBandwidthMax", main_config.i_o_limit_read, main_config.disk_read, index); + value = add_io_str_format_ubconfig(value, "IOWriteBandwidthMax", main_config.i_o_limit_write, main_config.disk_write, index); //if (strstr(main_config.i_o_limit_read[index], "-") == NULL) { //value = yon_char_unite(value ,split_simvol, philos_format_cfg_str_size_memory("IOReadBandwidthMax", main_config.i_o_limit_read[index],main_config.i_o_limit_read_size[index]), NULL); // split_simvol[0] = ','; @@ -1002,7 +1004,26 @@ char* save_format_value(int index) { //} return value; } - +char* add_io_str_format_ubconfig(char* cmd_io, char* key, char*** i_o_limit, char*** disk_read, int index) { + char split_simvol[2] = {0}; + if (i_o_limit != NULL) { + if (i_o_limit[index] != NULL) { + if (i_o_limit[index] != NULL) { + for (int i = 0;i_o_limit[index][i] != NULL; i++) { + if (i==0) { + cmd_io = yon_char_unite(cmd_io, ",", key, "="); + } + char* read_limit = i_o_limit[index][i]; + char* read_limit_disk = disk_read[index][i]; + cmd_io = yon_char_unite(cmd_io, split_simvol, read_limit_disk, " ", read_limit); + split_simvol[0] = ','; + split_simvol[1] = '\0'; + } + } + } + } + return cmd_io; +} int check_save(dictionary* load_cfg) { if (main_config.flag_set_data == 1) { diff --git a/source/ubl-settings-resourcequota.h b/source/ubl-settings-resourcequota.h index 4c0d2c8..4b54ab0 100755 --- a/source/ubl-settings-resourcequota.h +++ b/source/ubl-settings-resourcequota.h @@ -218,4 +218,5 @@ char* template_format_str_remove_save(dictionary* load_cfg, char* source_remove_ char* template_format_str_set_save(dictionary* load_cfg, char* source_set_cmd); char* save_format_key(int index); void get_param_io_limit(char** arr_values, int index_start, int size, int index_n1, char *key_find); +char* add_io_str_format_ubconfig(char* cmd_io, char* key, char*** i_o_limit, char*** disk_read, int index); char* format_io_limit_in_tree_view(config_str* disk, config_str* i_o_limit, int** i_o_limit_size, int index); \ No newline at end of file