From: Karel Zak Date: Mon, 18 Feb 2013 12:37:00 +0000 (+0100) Subject: lsblk: resuse udev handler X-Git-Tag: v2.23-rc1~207 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d44e3391b77ea06b0de2677cffe89578973a9a3a;p=thirdparty%2Futil-linux.git lsblk: resuse udev handler Signed-off-by: Karel Zak --- 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; }