summaryrefslogtreecommitdiffstats
path: root/fs/devfs-core.c
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2022-02-07 10:49:47 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2022-02-08 09:09:59 +0100
commit62295dfdb43eb421b7c8b119994df12b4e4879ef (patch)
tree017a33055811bc27bd1284f32cb45690d429034f /fs/devfs-core.c
parent240bf4f87471f4d15e97731fbe120f92ddd4ad16 (diff)
downloadbarebox-62295dfdb43eb421b7c8b119994df12b4e4879ef.tar.gz
barebox-62295dfdb43eb421b7c8b119994df12b4e4879ef.tar.xz
cdev: add diskuuid support
This allows identifying disks by UUID. For disks with GPT the disk GUID is used. For DOS partition tables the NT signature ist used, similar to how the partuuid is generated. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Link: https://lore.barebox.org/20220124100458.2924679-3-m.olbrich@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20220207094953.949868-2-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs/devfs-core.c')
-rw-r--r--fs/devfs-core.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/fs/devfs-core.c b/fs/devfs-core.c
index 82e4811b38..2475ab959a 100644
--- a/fs/devfs-core.c
+++ b/fs/devfs-core.c
@@ -107,6 +107,20 @@ struct cdev *cdev_by_partuuid(const char *partuuid)
return NULL;
}
+struct cdev *cdev_by_diskuuid(const char *diskuuid)
+{
+ struct cdev *cdev;
+
+ if (!diskuuid)
+ return NULL;
+
+ list_for_each_entry(cdev, &cdev_list, list) {
+ if (!cdev->master && !strcasecmp(cdev->uuid, diskuuid))
+ return cdev;
+ }
+ return NULL;
+}
+
/**
* device_find_partition - find a partition belonging to a physical device
*