summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Zak <kzak@redhat.com>2013-09-16 17:04:57 +0200
committerKarel Zak <kzak@redhat.com>2013-09-16 17:04:57 +0200
commitd31d3fc74a836f3298f7a188b3ab838103dacb1e (patch)
tree058f4720f6c6be8686d6838f7900b9378a4c9116
parent2961a4fce2b19a99f90cf5b2bf20301c29521116 (diff)
downloadutil-linux-d31d3fc74a836f3298f7a188b3ab838103dacb1e.tar.gz
fdisk: fix -l
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r--fdisks/fdisk.c7
-rw-r--r--libfdisk/src/label.c5
2 files changed, 8 insertions, 4 deletions
diff --git a/fdisks/fdisk.c b/fdisks/fdisk.c
index 8bd6c4ed..368c89ed 100644
--- a/fdisks/fdisk.c
+++ b/fdisks/fdisk.c
@@ -348,13 +348,18 @@ static void print_all_devices_pt(struct fdisk_context *cxt)
return;
}
+ DBG(FRONTEND, dbgprint("reading "_PATH_PROC_PARTITIONS));
+
while (fgets(line, sizeof(line), f)) {
char ptname[128 + 1], devname[256];
- if (sscanf(line, " %*d %*d %*d %128[^\n ]", ptname) != 4)
+ if (sscanf(line, " %*d %*d %*d %128[^\n ]", ptname) != 1)
continue;
snprintf(devname, sizeof(devname), "/dev/%s", ptname);
+
+ DBG(FRONTEND, dbgprint("listing %s", devname));
+
if (is_whole_disk(devname)) {
char *cn = canonicalize_path(devname);
if (cn) {
diff --git a/libfdisk/src/label.c b/libfdisk/src/label.c
index 95a0abfb..aba2790c 100644
--- a/libfdisk/src/label.c
+++ b/libfdisk/src/label.c
@@ -83,9 +83,9 @@ int fdisk_write_disklabel(struct fdisk_context *cxt)
int fdisk_require_geometry(struct fdisk_context *cxt)
{
assert(cxt);
- assert(cxt->label);
- return cxt->label->flags & FDISK_LABEL_FL_REQUIRE_GEOMETRY ? 1 : 0;
+ return cxt->label
+ && cxt->label->flags & FDISK_LABEL_FL_REQUIRE_GEOMETRY ? 1 : 0;
}
int fdisk_missing_geometry(struct fdisk_context *cxt)
@@ -93,7 +93,6 @@ int fdisk_missing_geometry(struct fdisk_context *cxt)
int rc;
assert(cxt);
- assert(cxt->label);
rc = (fdisk_require_geometry(cxt) &&
(!cxt->geom.heads || !cxt->geom.sectors