From: Karel Zak Date: Wed, 16 May 2018 11:20:01 +0000 (+0200) Subject: lib/sysfs: add sysfs_blkdev_get_parent() X-Git-Tag: v2.33-rc1~196 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8c3d9cad1ecb3c4ba78604ea4416620f6a6566ab;p=thirdparty%2Futil-linux.git lib/sysfs: add sysfs_blkdev_get_parent() Signed-off-by: Karel Zak --- diff --git a/include/sysfs.h b/include/sysfs.h index ea87d6a125..a7e66f74b8 100644 --- a/include/sysfs.h +++ b/include/sysfs.h @@ -68,7 +68,9 @@ void ul_sysfs_init_debug(void); struct path_cxt *ul_new_sysfs_path(dev_t devno, struct path_cxt *parent, const char *prefix); int sysfs_blkdev_init_path(struct path_cxt *pc, dev_t devno, struct path_cxt *parent); + int sysfs_blkdev_set_parent(struct path_cxt *pc, struct path_cxt *parent); +struct path_cxt *sysfs_blkdev_get_parent(struct path_cxt *pc); char *sysfs_blkdev_get_name(struct path_cxt *pc, char *buf, size_t bufsiz); int sysfs_blkdev_is_partition_dirent(DIR *dir, struct dirent *d, const char *parent_name); diff --git a/lib/sysfs.c b/lib/sysfs.c index 5b4031e00b..953627715d 100644 --- a/lib/sysfs.c +++ b/lib/sysfs.c @@ -148,6 +148,12 @@ int sysfs_blkdev_set_parent(struct path_cxt *pc, struct path_cxt *parent) return 0; } +struct path_cxt *sysfs_blkdev_get_parent(struct path_cxt *pc) +{ + struct sysfs_blkdev *blk = ul_path_get_dialect(pc); + return blk ? blk->parent : NULL; +} + /* * Redirects ENOENT errors to the parent, if the path is to the queue/ * sysfs directory. For example