From 84f4c03aab3e0af6e75142f1d9332eb5e9b3fd52 Mon Sep 17 00:00:00 2001 From: Zhiqiang Liu Date: Sun, 30 Jan 2022 15:15:24 +0800 Subject: [PATCH] lvm: code reduce cyclomatic complexity enhance code and reduce cyclomatic complexity Fix issue: https://gitee.com/src-openeuler/lvm2/issues/I4RZQQ Signed-off-by:lixiaokeng Signed-off-by: Zhiqiang Liu --- ...vm-code-reduce-cyclomatic-complexity.patch | 97 +++++++++++++++++++ lvm2.spec | 6 +- 2 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 0014-lvm-code-reduce-cyclomatic-complexity.patch diff --git a/0014-lvm-code-reduce-cyclomatic-complexity.patch b/0014-lvm-code-reduce-cyclomatic-complexity.patch new file mode 100644 index 0000000..c81b9a7 --- /dev/null +++ b/0014-lvm-code-reduce-cyclomatic-complexity.patch @@ -0,0 +1,97 @@ +From f2fe10e3918bcab97a5948c3d88ca91a35b0ede2 Mon Sep 17 00:00:00 2001 +From: lixiaokeng +Date: Wed, 1 Jul 2020 11:07:06 +0000 +Subject: [PATCH] lvm: code reduce cyclomatic complexity + +enhance code and reduce cyclomatic complexity + +Fix issue: https://gitee.com/src-openeuler/lvm2/issues/I4RZQQ + +Signed-off-by:lixiaokeng +Signed-off-by: Zhiqiang Liu +--- + lib/device/dev-cache.c | 41 +++++++++++++++++++++++------------------ + 1 file changed, 23 insertions(+), 18 deletions(-) + +diff --git a/lib/device/dev-cache.c b/lib/device/dev-cache.c +index 94e39fa..868a218 100644 +--- a/lib/device/dev-cache.c ++++ b/lib/device/dev-cache.c +@@ -1059,6 +1059,19 @@ static int _device_in_udev_db(const dev_t d) + return 0; + } + ++bool time_out(long* time_use, struct timeval start) ++{ ++ struct timeval end; ++ ++ if (!gettimeofday(&end, NULL)) { ++ *time_use = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec); ++ if (*time_use > udev_getdev_timemax) { ++ return true; ++ } ++ } ++ return false; ++} ++ + static int _insert_udev_dir(struct udev *udev, const char *dir) + { + struct udev_enumerate *udev_enum = NULL; +@@ -1067,16 +1080,13 @@ static int _insert_udev_dir(struct udev *udev, const char *dir) + struct udev_device *device; + int r = 1; + int ret = -1; +- struct timeval start, end; ++ struct timeval start; + long time_use = 0; + + ret = gettimeofday(&start,NULL); + udev_enum = udev_enumerate_new(udev); +- if (!ret && !gettimeofday(&end,NULL)) { +- time_use = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec); +- if (time_use > udev_getdev_timemax) { +- log_print_unless_silent("Call udev_enumerate_new use %ld usec", time_use); +- } ++ if (!ret && time_out(&time_use, start)) { ++ log_print_unless_silent("Call udev_enumerate_new use %ld usec", time_use); + } + if (!udev_enum) { + log_error("Failed to udev_enumerate_new."); +@@ -1110,14 +1120,12 @@ static int _insert_udev_dir(struct udev *udev, const char *dir) + entry_name); + continue; + } ++ + ret = gettimeofday(&start,NULL); + node_name = udev_device_get_devnode(device); +- if (!ret && !gettimeofday(&end,NULL)) { +- time_use = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec); +- if (time_use > udev_getdev_timemax) { +- log_print_unless_silent("Call udev_device_get_devnode use %ld usec, device:%s", +- time_use, entry_name); +- } ++ if (!ret && time_out(&time_use, start)) { ++ log_print_unless_silent("Call udev_device_get_devnode use %ld usec, device:%s", ++ time_use, entry_name); + } + + if (!node_name) +@@ -1128,12 +1136,9 @@ static int _insert_udev_dir(struct udev *udev, const char *dir) + + ret = gettimeofday(&start,NULL); + first_entry = udev_device_get_devlinks_list_entry(device); +- if (!ret && !gettimeofday(&end,NULL)) { +- time_use = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec); +- if (time_use > udev_getdev_timemax) { +- log_print_unless_silent("Call udev_device_get_devlinks_list_entry use %ld usec, dev:%s", +- time_use, entry_name); +- } ++ if (!ret && time_out(&time_use, start)) { ++ log_print_unless_silent("Call udev_device_get_devlinks_list_entry use %ld usec, dev:%s", ++ time_use, entry_name); + } + udev_list_entry_foreach(symlink_entry, first_entry) { + if (!(symlink_name = udev_list_entry_get_name(symlink_entry))) +-- +1.8.3.1 + diff --git a/lvm2.spec b/lvm2.spec index aa9e7f7..b0fb55e 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -43,7 +43,7 @@ Name: lvm2 Version: 2.03.14 -Release: 3 +Release: 4 Epoch: 8 Summary: Tools for logical volume management License: GPLv2+ and LGPLv2.1 and BSD @@ -62,6 +62,7 @@ Patch10: 0010-enhancement-log-it-when-disk-slow.patch Patch11: 0011-bugfix-lvm2-fix-the-reuse-of-va_list.patch Patch12: 0012-13-dm-disk.rules-check-DM_NAME-before-create-symlink.patch Patch13: 0013-dev_name-determine-whether-the-dev-aliases-linked-li.patch +Patch14: 0014-lvm-code-reduce-cyclomatic-complexity.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -488,6 +489,9 @@ fi %changelog +* Sun Jan 30 2022 Zhiqiang Liu - 8.2.03.14-4 +- lvm: code reduce cyclomatic complexity + * Sun Jan 30 2022 Zhiqiang Liu - 8.2.03.14-3 - dev_name() determine whether the dev->aliases linked list is empty before obtaining the dev name