diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2016-04-27 11:11:58 +0200 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2016-05-05 23:34:30 +0200 |
commit | 4d116d7a28974648183623c46014b9dcff48748d (patch) | |
tree | 98aecbb8cb05f4af94929f362e063371ec3ecdf1 | |
parent | def65507e6beab7d1830622492772cc89abe4ccb (diff) | |
download | lvm2-4d116d7a28974648183623c46014b9dcff48748d.tar.gz |
cleanup: gather version info with single check
As we already collect version info anyway, allow to use it through
a single call (can makes logs shorter and saves ioctl).
-rw-r--r-- | WHATS_NEW | 1 | ||||
-rw-r--r-- | lib/activate/activate.c | 21 | ||||
-rw-r--r-- | lib/activate/activate.h | 3 |
3 files changed, 18 insertions, 7 deletions
@@ -1,5 +1,6 @@ Version 2.02.153 - ================================== + Add function to check for target presence and version via 1 ioctl. Version 2.02.152 - 30th April 2016 ================================== diff --git a/lib/activate/activate.c b/lib/activate/activate.c index 5a7e99ee2..712f86c17 100644 --- a/lib/activate/activate.c +++ b/lib/activate/activate.c @@ -632,25 +632,32 @@ int module_present(struct cmd_context *cmd, const char *target_name) return ret; } -int target_present(struct cmd_context *cmd, const char *target_name, - int use_modprobe) +int target_present_version(struct cmd_context *cmd, const char *target_name, + int use_modprobe, + uint32_t *maj, uint32_t *min, uint32_t *patchlevel) { - uint32_t maj, min, patchlevel; - if (!activation()) - return 0; + return_0; #ifdef MODPROBE_CMD if (use_modprobe) { - if (target_version(target_name, &maj, &min, &patchlevel)) + if (target_version(target_name, maj, min, patchlevel)) return 1; if (!module_present(cmd, target_name)) return_0; } #endif + return target_version(target_name, maj, min, patchlevel); +} + +int target_present(struct cmd_context *cmd, const char *target_name, + int use_modprobe) +{ + uint32_t maj, min, patchlevel; - return target_version(target_name, &maj, &min, &patchlevel); + return target_present_version(cmd, target_name, use_modprobe, + &maj, &min, &patchlevel); } static int _lv_info(struct cmd_context *cmd, const struct logical_volume *lv, diff --git a/lib/activate/activate.h b/lib/activate/activate.h index 089355d0f..1e8d7a82b 100644 --- a/lib/activate/activate.h +++ b/lib/activate/activate.h @@ -92,6 +92,9 @@ int library_version(char *version, size_t size); int lvm1_present(struct cmd_context *cmd); int module_present(struct cmd_context *cmd, const char *target_name); +int target_present_version(struct cmd_context *cmd, const char *target_name, + int use_modprobe, uint32_t *maj, + uint32_t *min, uint32_t *patchlevel); int target_present(struct cmd_context *cmd, const char *target_name, int use_modprobe); int target_version(const char *target_name, uint32_t *maj, |