summaryrefslogtreecommitdiffstats
path: root/libblkid/src/superblocks
diff options
context:
space:
mode:
authorPali Rohár2017-05-01 11:19:02 +0200
committerPali Rohár2017-05-05 18:38:15 +0200
commitccfb5b0a1d318c1ac96884c70c7b5090331849fc (patch)
treeb20b9f4a1afd1b8ae784771cf5684115b5c48dd2 /libblkid/src/superblocks
parentcolumn: be robust on empty table (diff)
downloadkernel-qcow2-util-linux-ccfb5b0a1d318c1ac96884c70c7b5090331849fc.tar.gz
kernel-qcow2-util-linux-ccfb5b0a1d318c1ac96884c70c7b5090331849fc.tar.xz
kernel-qcow2-util-linux-ccfb5b0a1d318c1ac96884c70c7b5090331849fc.zip
Revert "libblkid: Probe UDF volumes for ISO9660 info as well"
This reverts commit 8053b51c7601c4a7e5f2eca45610b8228f53d408. Reporting meaningless ID_FS_LABEL=UDF_Volume written in that commit was caused by reading wrong value for UDF label and it was fixed in commit 2f2730bc77c972d613cfec421468c84f15749708. So after this revert blkid reports for UDF filesystems label of UDF filesystem and not label of ISO (if present) like other systems. In most cases UDF and ISO labels are same (sometimes just one is upper case). Commit 8053b51c7601c4a7e5f2eca45610b8228f53d408 just fixed result, not reason why blkid reported different UDF Label as Windows. Real reason was fixed in 2f2730bc77c972d613cfec421468c84f15749708.
Diffstat (limited to 'libblkid/src/superblocks')
-rw-r--r--libblkid/src/superblocks/iso9660.c3
-rw-r--r--libblkid/src/superblocks/iso9660.h14
-rw-r--r--libblkid/src/superblocks/udf.c23
3 files changed, 2 insertions, 38 deletions
diff --git a/libblkid/src/superblocks/iso9660.c b/libblkid/src/superblocks/iso9660.c
index 4d56a3803..7356754ee 100644
--- a/libblkid/src/superblocks/iso9660.c
+++ b/libblkid/src/superblocks/iso9660.c
@@ -19,7 +19,6 @@
#include <ctype.h>
#include "superblocks.h"
-#include "iso9660.h"
struct iso9660_date {
unsigned char year[4];
@@ -167,7 +166,7 @@ static int is_str_empty(const unsigned char *str, size_t len)
}
/* iso9660 [+ Microsoft Joliet Extension] */
-int probe_iso9660(blkid_probe pr, const struct blkid_idmag *mag)
+static int probe_iso9660(blkid_probe pr, const struct blkid_idmag *mag)
{
struct iso_volume_descriptor *iso;
unsigned char label[32];
diff --git a/libblkid/src/superblocks/iso9660.h b/libblkid/src/superblocks/iso9660.h
deleted file mode 100644
index a8d729df6..000000000
--- a/libblkid/src/superblocks/iso9660.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Copyright (C) 2013 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
- *
- * This file may be redistributed under the terms of the
- * GNU Lesser General Public License.
- */
-#ifndef _BLKID_ISO9660_H
-#define _BLKID_ISO9660_H
-
-#include "blkidP.h"
-
-extern int probe_iso9660(blkid_probe pr, const struct blkid_idmag *mag);
-
-#endif /* _BLKID_ISO9660_H */
diff --git a/libblkid/src/superblocks/udf.c b/libblkid/src/superblocks/udf.c
index efbf7983d..36769779f 100644
--- a/libblkid/src/superblocks/udf.c
+++ b/libblkid/src/superblocks/udf.c
@@ -17,7 +17,6 @@
#include <stdint.h>
#include "superblocks.h"
-#include "iso9660.h"
struct dstring128 {
uint8_t clen;
@@ -202,27 +201,7 @@ real_blksz:
count = le32_to_cpu(vd->type.anchor.length) / bs;
loc = le32_to_cpu(vd->type.anchor.location);
- /* check if the list is usable */
- for (b = 0; b < count; b++) {
- vd = (struct volume_descriptor *)
- blkid_probe_get_buffer(pr,
- (uint64_t) (loc + b) * bs,
- sizeof(*vd));
- if (!vd)
- return errno ? -errno : 1;
- }
-
- /* Try extract all possible ISO9660 information -- if there is
- * usable LABEL and UUID in ISO header then use it, otherwise
- * read UDF specific LABEL and UUID */
- if (probe_iso9660(pr, mag) == 0) {
- if (__blkid_probe_lookup_value(pr, "LABEL") != NULL)
- have_label = 1;
- if (__blkid_probe_lookup_value(pr, "UUID") != NULL)
- have_uuid = 1;
- }
-
- /* Read UDF identifiers */
+ /* pick the primary descriptor from the list and read UDF identifiers */
for (b = 0; b < count; b++) {
vd = (struct volume_descriptor *)
blkid_probe_get_buffer(pr,