From a7197541f467bfd39d5504c438a90ef00ef0bc1e Mon Sep 17 00:00:00 2001 Message-Id: From: Michal Privoznik Date: Fri, 19 Jun 2020 11:43:14 +0200 Subject: [PATCH] util: Move virIsDevMapperDevice() to virdevmapper.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When introducing virdevmapper.c (in v4.3.0-rc1~427) I didn't realize there is a function that calls in devmapper. The function is called virIsDevMapperDevice() and lives in virutil.c. Now that we have a special file for handling devmapper move it there. Signed-off-by: Michal Privoznik Reviewed-by: Jiri Denemark (cherry picked from commit dfa0e118f745fe3f4fe95975c6100f0fc6d788be) https://bugzilla.redhat.com/show_bug.cgi?id=1839992 Conflicts: - src/libvirt_private.syms: Context, the downstream still has virIsSUID() which was removed in upstream commit of v5.7.0-rc1~351 - src/util/virdevmapper.h: Context, the downstream code hasn't switched to #pragma once and still uses #endif. - src/util/virutil.c: Again, context. Signed-off-by: Michal Privoznik Message-Id: <31b696f526d21c5ce61b10ebe2c77c8fd0557ccc.1592559697.git.mprivozn@redhat.com> Reviewed-by: Ján Tomko --- src/libvirt_private.syms | 2 +- src/storage/parthelper.c | 2 +- src/storage/storage_backend_disk.c | 1 + src/util/virdevmapper.c | 24 ++++++++++++++++++++++++ src/util/virdevmapper.h | 2 ++ src/util/virutil.c | 23 ----------------------- src/util/virutil.h | 2 -- 7 files changed, 29 insertions(+), 27 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 3e5448af94..ef78b290db 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1716,6 +1716,7 @@ virDBusSetSharedBus; # util/virdevmapper.h virDevMapperGetTargets; +virIsDevMapperDevice; # util/virdnsmasq.h @@ -3132,7 +3133,6 @@ virHexToBin; virHostGetDRMRenderNode; virHostHasIOMMU; virIndexToDiskName; -virIsDevMapperDevice; virIsSUID; virMemoryLimitIsSet; virMemoryLimitTruncate; diff --git a/src/storage/parthelper.c b/src/storage/parthelper.c index afdaa1cee2..d098356164 100644 --- a/src/storage/parthelper.c +++ b/src/storage/parthelper.c @@ -40,11 +40,11 @@ #include #include -#include "virutil.h" #include "virfile.h" #include "c-ctype.h" #include "virstring.h" #include "virgettext.h" +#include "virdevmapper.h" /* we don't need to include the full internal.h just for this */ #define STREQ(a, b) (strcmp(a, b) == 0) diff --git a/src/storage/storage_backend_disk.c b/src/storage/storage_backend_disk.c index c638e2db25..742510d986 100644 --- a/src/storage/storage_backend_disk.c +++ b/src/storage/storage_backend_disk.c @@ -36,6 +36,7 @@ #include "virfile.h" #include "configmake.h" #include "virstring.h" +#include "virdevmapper.h" #define VIR_FROM_THIS VIR_FROM_STORAGE diff --git a/src/util/virdevmapper.c b/src/util/virdevmapper.c index a360c3e677..944baad562 100644 --- a/src/util/virdevmapper.c +++ b/src/util/virdevmapper.c @@ -218,3 +218,27 @@ virDevMapperGetTargets(const char *path ATTRIBUTE_UNUSED, return -1; } #endif /* ! WITH_DEVMAPPER */ + + +#if WITH_DEVMAPPER +bool +virIsDevMapperDevice(const char *dev_name) +{ + struct stat buf; + + if (!stat(dev_name, &buf) && + S_ISBLK(buf.st_mode) && + dm_is_dm_major(major(buf.st_rdev))) + return true; + + return false; +} + +#else /* ! WITH_DEVMAPPER */ + +bool +virIsDevMapperDevice(const char *dev_name G_GNUC_UNUSED) +{ + return false; +} +#endif /* ! WITH_DEVMAPPER */ diff --git a/src/util/virdevmapper.h b/src/util/virdevmapper.h index 42a7828fde..78dc47e888 100644 --- a/src/util/virdevmapper.h +++ b/src/util/virdevmapper.h @@ -30,4 +30,6 @@ int virDevMapperGetTargets(const char *path, char ***devPaths); +bool +virIsDevMapperDevice(const char *dev_name) ATTRIBUTE_NONNULL(1); #endif /* __VIR_DEVMAPPER_H__ */ diff --git a/src/util/virutil.c b/src/util/virutil.c index fd70df120b..e803fee993 100644 --- a/src/util/virutil.c +++ b/src/util/virutil.c @@ -44,9 +44,6 @@ #include #include -#if WITH_DEVMAPPER -# include -#endif #include #ifdef HAVE_GETPWUID_R @@ -1620,26 +1617,6 @@ void virWaitForDevices(void) {} #endif -#if WITH_DEVMAPPER -bool -virIsDevMapperDevice(const char *dev_name) -{ - struct stat buf; - - if (!stat(dev_name, &buf) && - S_ISBLK(buf.st_mode) && - dm_is_dm_major(major(buf.st_rdev))) - return true; - - return false; -} -#else -bool virIsDevMapperDevice(const char *dev_name ATTRIBUTE_UNUSED) -{ - return false; -} -#endif - bool virValidateWWN(const char *wwn) { diff --git a/src/util/virutil.h b/src/util/virutil.h index b0ee8329e2..dbd6a40bce 100644 --- a/src/util/virutil.h +++ b/src/util/virutil.h @@ -152,8 +152,6 @@ int virGetUserID(const char *name, int virGetGroupID(const char *name, gid_t *gid) ATTRIBUTE_RETURN_CHECK; -bool virIsDevMapperDevice(const char *dev_name) ATTRIBUTE_NONNULL(1); - bool virValidateWWN(const char *wwn); int virGetDeviceID(const char *path, -- 2.27.0