summaryrefslogtreecommitdiffstats
path: root/misc-utils/lsblk.c
diff options
context:
space:
mode:
authorKarel Zak2015-05-29 10:55:01 +0200
committerKarel Zak2015-05-29 10:55:01 +0200
commit92441d5c1e44ec9c378ccd2660f913bd143f3832 (patch)
tree39cd8d39e29249d37bca7c0e9e3c5aa5a50925ae /misc-utils/lsblk.c
parentdocs: fix gtk-docs related warnings (diff)
downloadkernel-qcow2-util-linux-92441d5c1e44ec9c378ccd2660f913bd143f3832.tar.gz
kernel-qcow2-util-linux-92441d5c1e44ec9c378ccd2660f913bd143f3832.tar.xz
kernel-qcow2-util-linux-92441d5c1e44ec9c378ccd2660f913bd143f3832.zip
lsblk: use internally sysfs devnames
It seems better to keep the strange sysfs devnames internally and translate to real devnames only on output or when we read from /dev. Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils/lsblk.c')
-rw-r--r--misc-utils/lsblk.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
index c98e28a0e..37fbb9af2 100644
--- a/misc-utils/lsblk.c
+++ b/misc-utils/lsblk.c
@@ -421,6 +421,7 @@ static char *get_device_path(struct blkdev_cxt *cxt)
return canonicalize_dm_name(cxt->name);
snprintf(path, sizeof(path), "/dev/%s", cxt->name);
+ sysfs_devname_sys_to_dev(path);
return xstrdup(path);
}
@@ -790,6 +791,8 @@ static char *mk_name(const char *name)
xasprintf(&p, "/dev/%s", name);
else
p = xstrdup(name);
+ if (p)
+ sysfs_devname_sys_to_dev(p);
return p;
}
@@ -1152,9 +1155,6 @@ static int set_cxt(struct blkdev_cxt *cxt,
cxt->name = xstrdup(name);
cxt->partition = wholedisk != NULL;
- /* make sure that the name is usable in paths */
- sysfs_devname_sys_to_dev(cxt->name);
-
cxt->filename = get_device_path(cxt);
if (!cxt->filename) {
warnx(_("%s: failed to get device path"), cxt->name);
@@ -1207,8 +1207,7 @@ static int set_cxt(struct blkdev_cxt *cxt,
}
}
- /* use "name" (sysfs-like name) here */
- cxt->npartitions = sysfs_count_partitions(&cxt->sysfs, name);
+ cxt->npartitions = sysfs_count_partitions(&cxt->sysfs, cxt->name);
cxt->nholders = sysfs_count_dirents(&cxt->sysfs, "holders");
cxt->nslaves = sysfs_count_dirents(&cxt->sysfs, "slaves");