summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorKarel Zak2018-10-16 15:52:13 +0200
committerKarel Zak2018-12-07 12:32:57 +0100
commit93c687d895752582bd95ef52a53684b346f2cc70 (patch)
tree799d203808d95026af6cc5ba0adbe90454cb1ba0 /lib
parentlsblk: reorder functions (diff)
downloadkernel-qcow2-util-linux-93c687d895752582bd95ef52a53684b346f2cc70.tar.gz
kernel-qcow2-util-linux-93c687d895752582bd95ef52a53684b346f2cc70.tar.xz
kernel-qcow2-util-linux-93c687d895752582bd95ef52a53684b346f2cc70.zip
lib/sysfs: add function to detect partitioned devices
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/sysfs.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/sysfs.c b/lib/sysfs.c
index 626451bdd..6916c2584 100644
--- a/lib/sysfs.c
+++ b/lib/sysfs.c
@@ -999,6 +999,20 @@ char *sysfs_devno_to_devname(dev_t devno, char *buf, size_t bufsiz)
return res;
}
+int sysfs_devno_count_partitions(dev_t devno)
+{
+ struct path_cxt *pc = ul_new_sysfs_path(devno, NULL, NULL);
+ int n = 0;
+
+ if (pc) {
+ char buf[PATH_MAX + 1];
+ char *name = sysfs_blkdev_get_name(pc, buf, sizeof(buf));
+
+ n = sysfs_blkdev_count_partitions(pc, name);
+ ul_unref_path(pc);
+ }
+ return n;
+}
#ifdef TEST_PROGRAM_SYSFS