From d44e3391b77ea06b0de2677cffe89578973a9a3a Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 18 Feb 2013 13:37:00 +0100 Subject: [PATCH] lsblk: resuse udev handler Signed-off-by: Karel Zak --- misc-utils/lsblk.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c index 9628ba6d8d..1d7920376b 100644 --- a/misc-utils/lsblk.c +++ b/misc-utils/lsblk.c @@ -182,6 +182,10 @@ static size_t nincludes; static struct libmnt_table *mtab, *swaps; static struct libmnt_cache *mntcache; +#ifdef HAVE_LIBUDEV +struct udev *udev; +#endif + struct blkdev_cxt { struct blkdev_cxt *parent; @@ -400,13 +404,13 @@ static int get_udev_properties(struct blkdev_cxt *cxt #else static int get_udev_properties(struct blkdev_cxt *cxt) { - struct udev *udev; struct udev_device *dev; if (cxt->probed) return 0; /* already done */ - udev = udev_new(); + if (!udev) + udev = udev_new(); if (!udev) return -1; @@ -437,8 +441,6 @@ static int get_udev_properties(struct blkdev_cxt *cxt) cxt->probed = 1; } - udev_unref(udev); - return cxt->probed == 1 ? 0 : -1; } @@ -1564,5 +1566,8 @@ leave: mnt_free_table(mtab); mnt_free_table(swaps); mnt_free_cache(mntcache); +#ifdef HAVE_LIBUDEV + udev_unref(udev); +#endif return status; } -- 2.47.3