diff options
author | Daniel Golle <daniel@makrotopia.org> | 2022-12-23 00:25:56 +0000 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2023-02-15 03:24:04 +0000 |
commit | 12155d3881b9bdd44b8682970638dbfd9f55e2cb (patch) | |
tree | a0c348b07ac1025ee3655189da23e3e4c263b358 | |
parent | 14d535e4485dc030deecbba9ab493c379df5c237 (diff) | |
download | fstools-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.c | 10 |
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); |