summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-12-23 00:25:56 +0000
committerDaniel Golle <daniel@makrotopia.org>2023-02-15 03:24:04 +0000
commit12155d3881b9bdd44b8682970638dbfd9f55e2cb (patch)
treea0c348b07ac1025ee3655189da23e3e4c263b358
parent14d535e4485dc030deecbba9ab493c379df5c237 (diff)
downloadfstools-12155d3881b9bdd44b8682970638dbfd9f55e2cb.tar.gz
libfstools: use class interface to iterate over ubi devices
Instead of relying on /sys/devices/virtual/ubi/* better use /sys/class/ubi/* which makes things more straight forward. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rw-r--r--libfstools/ubi.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libfstools/ubi.c b/libfstools/ubi.c
index 4772909..be2c12b 100644
--- a/libfstools/ubi.c
+++ b/libfstools/ubi.c
@@ -18,7 +18,7 @@
/* could use libubi-tiny instead, but already had the code directly reading
* from sysfs */
-const char *const ubi_dir_name = "/sys/devices/virtual/ubi";
+const char *const ubi_dir_name = "/sys/class/ubi";
struct ubi_volume {
struct volume v;
@@ -47,8 +47,8 @@ static int ubi_volume_init(struct volume *v)
char voldir[BUFLEN], voldev[BUFLEN], volname[BUFLEN];
unsigned int volsize;
- snprintf(voldir, sizeof(voldir), "%s/ubi%u/ubi%u_%u",
- ubi_dir_name, p->ubi_num, p->ubi_num, p->ubi_volid);
+ snprintf(voldir, sizeof(voldir), "%s/ubi%u_%u",
+ ubi_dir_name, p->ubi_num, p->ubi_volid);
snprintf(voldev, sizeof(voldev), "/dev/ubi%u_%u",
p->ubi_num, p->ubi_volid);
@@ -72,8 +72,8 @@ static struct volume *ubi_volume_match(char *name, int ubi_num, int volid)
char voldir[BUFLEN], volblkdev[BUFLEN], volname[BUFLEN];
struct ubi_volume *p;
- snprintf(voldir, sizeof(voldir), "%s/ubi%u/ubi%u_%u",
- ubi_dir_name, ubi_num, ubi_num, volid);
+ snprintf(voldir, sizeof(voldir), "%s/ubi%u_%u",
+ ubi_dir_name, ubi_num, volid);
snprintf(volblkdev, sizeof(volblkdev), "/dev/ubiblock%u_%u",
ubi_num, volid);