lib/sysfs: add function to detect partitioned devices

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2018-10-16 15:52:13 +02:00
parent e15c9e3dc5
commit 93c687d895
2 changed files with 15 additions and 0 deletions

View File

@ -97,6 +97,7 @@ dev_t sysfs_devname_to_devno(const char *name);
dev_t __sysfs_devname_to_devno(const char *prefix, const char *name, const char *parent);
char *sysfs_devno_to_devpath(dev_t devno, char *buf, size_t bufsiz);
char *sysfs_devno_to_devname(dev_t devno, char *buf, size_t bufsiz);
int sysfs_devno_count_partitions(dev_t devno);
int sysfs_blkdev_scsi_get_hctl(struct path_cxt *pc, int *h, int *c, int *t, int *l);
char *sysfs_blkdev_scsi_host_strdup_attribute(struct path_cxt *pc,

View File

@ -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