lib/sysfs: add function to detect partitioned devices
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
e15c9e3dc5
commit
93c687d895
|
@ -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,
|
||||
|
|
14
lib/sysfs.c
14
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
|
||||
|
|
Loading…
Reference in New Issue