|
|
31b890 |
From 9e9355c71c031f4d7445c30cb39bd6b33c10ff9d Mon Sep 17 00:00:00 2001
|
|
|
31b890 |
From: Mikulas Patocka <mpatocka@redhat.com>
|
|
|
31b890 |
Date: Mon, 2 Sep 2019 12:28:39 +0200
|
|
|
31b890 |
Subject: [PATCH 37/40] blkid: retport block size of a filesystem
|
|
|
31b890 |
|
|
|
31b890 |
This patch extends libblkid, so that it reports filesystem block size.
|
|
|
31b890 |
|
|
|
31b890 |
When blkid returns a specific number in the BLOCK_SIZE attribute, it
|
|
|
31b890 |
guarantees that all the bios submitted by the filesystem are aligned on
|
|
|
31b890 |
this boundary.
|
|
|
31b890 |
|
|
|
31b890 |
We need this because when we want to enable dm-integrity or dm-writecache
|
|
|
31b890 |
on an existing filesystem, we need to know filesystem block size, so that
|
|
|
31b890 |
dm-integrity or dm-writecache is initialized with matching block size.
|
|
|
31b890 |
|
|
|
31b890 |
We could always use block size 512 for dm-integrity and dm-writecache, but
|
|
|
31b890 |
that would cause metadata overhead and performance degradation. On the
|
|
|
31b890 |
other hand, if we used block size 4096, it would fail if the filesystem
|
|
|
31b890 |
has smaller blocksize.
|
|
|
31b890 |
|
|
|
31b890 |
[kzak@redhat.com: - move vfat BLOCK_SIZE to probing function
|
|
|
31b890 |
- remove unwanted debug fprintf from ZFS prober]
|
|
|
31b890 |
|
|
|
31b890 |
RHEL-8.3: add regression tests updates to teh patch too
|
|
|
31b890 |
|
|
|
31b890 |
Upstream: http://github.com/karelzak/util-linux/commit/cd129b7d2fecd5f2013512936de2db1bf244aa75
|
|
|
31b890 |
Upstream: http://github.com/karelzak/util-linux/commit/e7d318a9dd63c9fae8f07754ce12aa9af4dce089
|
|
|
31b890 |
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1817726
|
|
|
31b890 |
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
|
|
|
31b890 |
Signed-off-by: Karel Zak <kzak@redhat.com>
|
|
|
31b890 |
---
|
|
|
31b890 |
libblkid/src/superblocks/befs.c | 3 +
|
|
|
31b890 |
libblkid/src/superblocks/btrfs.c | 1 +
|
|
|
31b890 |
libblkid/src/superblocks/exfat.c | 2 +
|
|
|
31b890 |
libblkid/src/superblocks/exfs.c | 4 +
|
|
|
31b890 |
libblkid/src/superblocks/ext.c | 3 +
|
|
|
31b890 |
libblkid/src/superblocks/f2fs.c | 2 +
|
|
|
31b890 |
libblkid/src/superblocks/gfs.c | 1 +
|
|
|
31b890 |
libblkid/src/superblocks/hfs.c | 2 +
|
|
|
31b890 |
libblkid/src/superblocks/hpfs.c | 1 +
|
|
|
31b890 |
libblkid/src/superblocks/iso9660.c | 2 +
|
|
|
31b890 |
libblkid/src/superblocks/jfs.c | 1 +
|
|
|
31b890 |
libblkid/src/superblocks/minix.c | 5 ++
|
|
|
31b890 |
libblkid/src/superblocks/nilfs.c | 3 +
|
|
|
31b890 |
libblkid/src/superblocks/ntfs.c | 2 +
|
|
|
31b890 |
libblkid/src/superblocks/ocfs.c | 3 +
|
|
|
31b890 |
libblkid/src/superblocks/reiserfs.c | 10 ++-
|
|
|
31b890 |
libblkid/src/superblocks/romfs.c | 3 +
|
|
|
31b890 |
libblkid/src/superblocks/squashfs.c | 2 +
|
|
|
31b890 |
libblkid/src/superblocks/superblocks.c | 7 ++
|
|
|
31b890 |
libblkid/src/superblocks/superblocks.h | 2 +
|
|
|
31b890 |
libblkid/src/superblocks/udf.c | 2 +
|
|
|
31b890 |
libblkid/src/superblocks/ufs.c | 5 ++
|
|
|
31b890 |
libblkid/src/superblocks/vfat.c | 2 +
|
|
|
31b890 |
libblkid/src/superblocks/vxfs.c | 18 ++++-
|
|
|
31b890 |
libblkid/src/superblocks/xfs.c | 1 +
|
|
|
31b890 |
libblkid/src/superblocks/zfs.c | 74 ++++++++++++++-----
|
|
|
31b890 |
tests/expected/blkid/low-probe-befs | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-exfat | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-ext2 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-ext3 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-f2fs | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-fat | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-fat16_noheads | 1 +
|
|
|
31b890 |
.../blkid/low-probe-fat32_cp850_O_tilde | 1 +
|
|
|
31b890 |
.../expected/blkid/low-probe-fat32_label_64MB | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-gfs2 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-hfsplus | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-hpfs | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-iso | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-iso-joliet | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-iso-rr-joliet | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-jbd | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-jfs | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-minix-BE | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-minix-LE | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-nilfs2 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-ntfs | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-ocfs2 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-reiser3 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-reiser4 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-romfs | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-small-fat32 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-udf | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-bdr-2.60-nero | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-cd-mkudfiso-20100208 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-udf-cd-nero-6 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-mkudffs-1.0.0-1 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-mkudffs-1.0.0-2 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-mkudffs-1.3-1 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-mkudffs-1.3-2 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-mkudffs-1.3-3 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-mkudffs-1.3-4 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-mkudffs-1.3-5 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-mkudffs-1.3-6 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-mkudffs-1.3-7 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-mkudffs-1.3-8 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-udfclient-0.7.5 | 1 +
|
|
|
31b890 |
.../blkid/low-probe-udf-hdd-udfclient-0.7.7 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-udf-hdd-win7 | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-ufs | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-xfs | 1 +
|
|
|
31b890 |
tests/expected/blkid/low-probe-zfs | 1 +
|
|
|
31b890 |
72 files changed, 186 insertions(+), 21 deletions(-)
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/befs.c b/libblkid/src/superblocks/befs.c
|
|
|
31b890 |
index 14af97217..516d80093 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/befs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/befs.c
|
|
|
31b890 |
@@ -519,6 +519,9 @@ static int probe_befs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
blkid_probe_sprintf_uuid(pr, (unsigned char *) &volume_id,
|
|
|
31b890 |
sizeof(volume_id), "%016" PRIx64,
|
|
|
31b890 |
FS64_TO_CPU(volume_id, fs_le));
|
|
|
31b890 |
+
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, block_size);
|
|
|
31b890 |
+
|
|
|
31b890 |
return BLKID_PROBE_OK;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/btrfs.c b/libblkid/src/superblocks/btrfs.c
|
|
|
31b890 |
index 7ce3dfff8..f0fde700d 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/btrfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/btrfs.c
|
|
|
31b890 |
@@ -74,6 +74,7 @@ static int probe_btrfs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
|
|
|
31b890 |
blkid_probe_set_uuid(pr, bfs->fsid);
|
|
|
31b890 |
blkid_probe_set_uuid_as(pr, bfs->dev_item.uuid, "UUID_SUB");
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, le32_to_cpu(bfs->sectorsize));
|
|
|
31b890 |
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/exfat.c b/libblkid/src/superblocks/exfat.c
|
|
|
31b890 |
index 4bf92eac8..7622320d3 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/exfat.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/exfat.c
|
|
|
31b890 |
@@ -137,6 +137,8 @@ static int probe_exfat(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
blkid_probe_sprintf_version(pr, "%u.%u",
|
|
|
31b890 |
sb->version.vermaj, sb->version.vermin);
|
|
|
31b890 |
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, BLOCK_SIZE(sb));
|
|
|
31b890 |
+
|
|
|
31b890 |
return BLKID_PROBE_OK;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/exfs.c b/libblkid/src/superblocks/exfs.c
|
|
|
31b890 |
index f717b6530..e0eafafc6 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/exfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/exfs.c
|
|
|
31b890 |
@@ -170,7 +170,11 @@ static int probe_exfs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
if (*xs->sb_fname != '\0')
|
|
|
31b890 |
blkid_probe_set_label(pr, (unsigned char *) xs->sb_fname,
|
|
|
31b890 |
sizeof(xs->sb_fname));
|
|
|
31b890 |
+
|
|
|
31b890 |
blkid_probe_set_uuid(pr, xs->sb_uuid);
|
|
|
31b890 |
+
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, be32_to_cpu(xs->sb_blocksize));
|
|
|
31b890 |
+
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/ext.c b/libblkid/src/superblocks/ext.c
|
|
|
31b890 |
index caf82c171..3870522fa 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/ext.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/ext.c
|
|
|
31b890 |
@@ -187,6 +187,9 @@ static void ext_get_info(blkid_probe pr, int ver, struct ext2_super_block *es)
|
|
|
31b890 |
blkid_probe_sprintf_version(pr, "%u.%u",
|
|
|
31b890 |
le32_to_cpu(es->s_rev_level),
|
|
|
31b890 |
le16_to_cpu(es->s_minor_rev_level));
|
|
|
31b890 |
+
|
|
|
31b890 |
+ if (le32_to_cpu(es->s_log_block_size) < 32)
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, 1024U << le32_to_cpu(es->s_log_block_size));
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/f2fs.c b/libblkid/src/superblocks/f2fs.c
|
|
|
31b890 |
index d1bf25a3a..255ef6384 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/f2fs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/f2fs.c
|
|
|
31b890 |
@@ -78,6 +78,8 @@ static int probe_f2fs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
|
|
|
31b890 |
blkid_probe_set_uuid(pr, sb->uuid);
|
|
|
31b890 |
blkid_probe_sprintf_version(pr, "%u.%u", vermaj, vermin);
|
|
|
31b890 |
+ if (le32_to_cpu(sb->log_blocksize) < 32)
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, 1U << le32_to_cpu(sb->log_blocksize));
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/gfs.c b/libblkid/src/superblocks/gfs.c
|
|
|
31b890 |
index ea6036cb7..e22a6a3f9 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/gfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/gfs.c
|
|
|
31b890 |
@@ -98,6 +98,7 @@ static int probe_gfs2(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
sizeof(sbd->sb_locktable));
|
|
|
31b890 |
blkid_probe_set_uuid(pr, sbd->sb_uuid);
|
|
|
31b890 |
blkid_probe_set_version(pr, "1");
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, be32_to_cpu(sbd->sb_bsize));
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
return 1;
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/hfs.c b/libblkid/src/superblocks/hfs.c
|
|
|
31b890 |
index 7b0117405..185c42c92 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/hfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/hfs.c
|
|
|
31b890 |
@@ -241,6 +241,8 @@ static int probe_hfsplus(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
if (blocksize < HFSPLUS_SECTOR_SIZE)
|
|
|
31b890 |
return 1;
|
|
|
31b890 |
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, blocksize);
|
|
|
31b890 |
+
|
|
|
31b890 |
memcpy(extents, hfsplus->cat_file.extents, sizeof(extents));
|
|
|
31b890 |
cat_block = be32_to_cpu(extents[0].start_block);
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/hpfs.c b/libblkid/src/superblocks/hpfs.c
|
|
|
31b890 |
index 0565d370c..dcf4520b6 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/hpfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/hpfs.c
|
|
|
31b890 |
@@ -99,6 +99,7 @@ static int probe_hpfs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
hbb->vol_serno[1], hbb->vol_serno[0]);
|
|
|
31b890 |
}
|
|
|
31b890 |
blkid_probe_sprintf_version(pr, "%u", version);
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, 512);
|
|
|
31b890 |
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/iso9660.c b/libblkid/src/superblocks/iso9660.c
|
|
|
31b890 |
index 7356754ee..8dc2e5394 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/iso9660.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/iso9660.c
|
|
|
31b890 |
@@ -182,6 +182,8 @@ static int probe_iso9660(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
|
|
|
31b890 |
memcpy(label, iso->volume_id, sizeof(label));
|
|
|
31b890 |
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, 2048);
|
|
|
31b890 |
+
|
|
|
31b890 |
if (!is_str_empty(iso->system_id, sizeof(iso->system_id)))
|
|
|
31b890 |
blkid_probe_set_id_label(pr, "SYSTEM_ID",
|
|
|
31b890 |
iso->system_id, sizeof(iso->system_id));
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/jfs.c b/libblkid/src/superblocks/jfs.c
|
|
|
31b890 |
index 0f956ef00..3de8c2e3d 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/jfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/jfs.c
|
|
|
31b890 |
@@ -52,6 +52,7 @@ static int probe_jfs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
if (*((char *) js->js_label) != '\0')
|
|
|
31b890 |
blkid_probe_set_label(pr, js->js_label, sizeof(js->js_label));
|
|
|
31b890 |
blkid_probe_set_uuid(pr, js->js_uuid);
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, le32_to_cpu(js->js_bsize));
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/minix.c b/libblkid/src/superblocks/minix.c
|
|
|
31b890 |
index c47378d73..674a1f17b 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/minix.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/minix.c
|
|
|
31b890 |
@@ -80,6 +80,7 @@ static int probe_minix(blkid_probe pr,
|
|
|
31b890 |
unsigned long zones, ninodes, imaps, zmaps;
|
|
|
31b890 |
off_t firstz;
|
|
|
31b890 |
size_t zone_size;
|
|
|
31b890 |
+ unsigned block_size;
|
|
|
31b890 |
|
|
|
31b890 |
data = blkid_probe_get_buffer(pr, 1024,
|
|
|
31b890 |
max(sizeof(struct minix_super_block),
|
|
|
31b890 |
@@ -103,6 +104,7 @@ static int probe_minix(blkid_probe pr,
|
|
|
31b890 |
zmaps = minix_swab16(swabme, sb->s_zmap_blocks);
|
|
|
31b890 |
firstz = minix_swab16(swabme, sb->s_firstdatazone);
|
|
|
31b890 |
zone_size = sb->s_log_zone_size;
|
|
|
31b890 |
+ block_size = 1024;
|
|
|
31b890 |
break;
|
|
|
31b890 |
}
|
|
|
31b890 |
case 3: {
|
|
|
31b890 |
@@ -114,6 +116,8 @@ static int probe_minix(blkid_probe pr,
|
|
|
31b890 |
zmaps = minix_swab16(swabme, sb->s_zmap_blocks);
|
|
|
31b890 |
firstz = minix_swab16(swabme, sb->s_firstdatazone);
|
|
|
31b890 |
zone_size = sb->s_log_zone_size;
|
|
|
31b890 |
+ block_size = minix_swab16(swabme, sb->s_blocksize);
|
|
|
31b890 |
+
|
|
|
31b890 |
break;
|
|
|
31b890 |
}
|
|
|
31b890 |
default:
|
|
|
31b890 |
@@ -143,6 +147,7 @@ static int probe_minix(blkid_probe pr,
|
|
|
31b890 |
return 1;
|
|
|
31b890 |
|
|
|
31b890 |
blkid_probe_sprintf_version(pr, "%d", version);
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, block_size);
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/nilfs.c b/libblkid/src/superblocks/nilfs.c
|
|
|
31b890 |
index 95538ef7b..423bd1ac4 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/nilfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/nilfs.c
|
|
|
31b890 |
@@ -157,6 +157,9 @@ static int probe_nilfs2(blkid_probe pr,
|
|
|
31b890 |
(unsigned char *) &sb->s_magic))
|
|
|
31b890 |
return 1;
|
|
|
31b890 |
|
|
|
31b890 |
+ if (le32_to_cpu(sb->s_log_block_size) < 32)
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, 1024U << le32_to_cpu(sb->s_log_block_size));
|
|
|
31b890 |
+
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/ntfs.c b/libblkid/src/superblocks/ntfs.c
|
|
|
31b890 |
index 32973095b..5bfebbb78 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/ntfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/ntfs.c
|
|
|
31b890 |
@@ -206,6 +206,8 @@ static int probe_ntfs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
attr_off += attr_len;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, sector_size);
|
|
|
31b890 |
+
|
|
|
31b890 |
blkid_probe_sprintf_uuid(pr,
|
|
|
31b890 |
(unsigned char *) &ns->volume_serial,
|
|
|
31b890 |
sizeof(ns->volume_serial),
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/ocfs.c b/libblkid/src/superblocks/ocfs.c
|
|
|
31b890 |
index 3fe199d3f..463ed7bcf 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/ocfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/ocfs.c
|
|
|
31b890 |
@@ -153,6 +153,9 @@ static int probe_ocfs2(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
le16_to_cpu(osb->s_major_rev_level),
|
|
|
31b890 |
le16_to_cpu(osb->s_minor_rev_level));
|
|
|
31b890 |
|
|
|
31b890 |
+ if (le32_to_cpu(osb->s_blocksize_bits) < 32)
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, 1U << le32_to_cpu(osb->s_blocksize_bits));
|
|
|
31b890 |
+
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/reiserfs.c b/libblkid/src/superblocks/reiserfs.c
|
|
|
31b890 |
index edbaaa946..6c5e5b0d7 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/reiserfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/reiserfs.c
|
|
|
31b890 |
@@ -32,7 +32,8 @@ struct reiserfs_super_block {
|
|
|
31b890 |
|
|
|
31b890 |
struct reiser4_super_block {
|
|
|
31b890 |
unsigned char rs4_magic[16];
|
|
|
31b890 |
- uint16_t rs4_dummy[2];
|
|
|
31b890 |
+ uint8_t rs4_dummy[3];
|
|
|
31b890 |
+ uint8_t rs4_blocksize;
|
|
|
31b890 |
unsigned char rs4_uuid[16];
|
|
|
31b890 |
unsigned char rs4_label[16];
|
|
|
31b890 |
uint64_t rs4_dummy2;
|
|
|
31b890 |
@@ -73,22 +74,29 @@ static int probe_reiser(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
else
|
|
|
31b890 |
blkid_probe_set_version(pr, "3.5");
|
|
|
31b890 |
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, blocksize);
|
|
|
31b890 |
+
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
static int probe_reiser4(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
{
|
|
|
31b890 |
struct reiser4_super_block *rs4;
|
|
|
31b890 |
+ unsigned int blocksize;
|
|
|
31b890 |
|
|
|
31b890 |
rs4 = blkid_probe_get_sb(pr, mag, struct reiser4_super_block);
|
|
|
31b890 |
if (!rs4)
|
|
|
31b890 |
return errno ? -errno : 1;
|
|
|
31b890 |
|
|
|
31b890 |
+ blocksize = rs4->rs4_blocksize * 256;
|
|
|
31b890 |
+
|
|
|
31b890 |
if (*rs4->rs4_label)
|
|
|
31b890 |
blkid_probe_set_label(pr, rs4->rs4_label, sizeof(rs4->rs4_label));
|
|
|
31b890 |
blkid_probe_set_uuid(pr, rs4->rs4_uuid);
|
|
|
31b890 |
blkid_probe_set_version(pr, "4");
|
|
|
31b890 |
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, blocksize);
|
|
|
31b890 |
+
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/romfs.c b/libblkid/src/superblocks/romfs.c
|
|
|
31b890 |
index f3e9f8b05..1c2ac4315 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/romfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/romfs.c
|
|
|
31b890 |
@@ -34,6 +34,9 @@ static int probe_romfs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
if (*((char *) ros->ros_volume) != '\0')
|
|
|
31b890 |
blkid_probe_set_label(pr, ros->ros_volume,
|
|
|
31b890 |
sizeof(ros->ros_volume));
|
|
|
31b890 |
+
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, 1024);
|
|
|
31b890 |
+
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/squashfs.c b/libblkid/src/superblocks/squashfs.c
|
|
|
31b890 |
index 7364beca2..4db842493 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/squashfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/squashfs.c
|
|
|
31b890 |
@@ -71,6 +71,8 @@ static int probe_squashfs3(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
|
|
|
31b890 |
blkid_probe_sprintf_version(pr, "%u.%u", vermaj, vermin);
|
|
|
31b890 |
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, 1024);
|
|
|
31b890 |
+
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
|
|
|
31b890 |
index 6dfd2be64..a86a055fe 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/superblocks.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/superblocks.c
|
|
|
31b890 |
@@ -74,6 +74,8 @@
|
|
|
31b890 |
* @APPLICATION_ID: ISO9660 application identifier
|
|
|
31b890 |
*
|
|
|
31b890 |
* @BOOT_SYSTEM_ID: ISO9660 boot system identifier
|
|
|
31b890 |
+ *
|
|
|
31b890 |
+ * @BLOCK_SIZE: block size
|
|
|
31b890 |
*/
|
|
|
31b890 |
|
|
|
31b890 |
static int superblocks_probe(blkid_probe pr, struct blkid_chain *chn);
|
|
|
31b890 |
@@ -550,6 +552,11 @@ int blkid_probe_sprintf_version(blkid_probe pr, const char *fmt, ...)
|
|
|
31b890 |
return rc;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
+int blkid_probe_set_block_size(blkid_probe pr, unsigned block_size)
|
|
|
31b890 |
+{
|
|
|
31b890 |
+ return blkid_probe_sprintf_value(pr, "BLOCK_SIZE", "%u", block_size);
|
|
|
31b890 |
+}
|
|
|
31b890 |
+
|
|
|
31b890 |
static int blkid_probe_set_usage(blkid_probe pr, int usage)
|
|
|
31b890 |
{
|
|
|
31b890 |
struct blkid_chain *chn = blkid_probe_get_chain(pr);
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/superblocks.h b/libblkid/src/superblocks/superblocks.h
|
|
|
31b890 |
index d677f85bc..d09046cfd 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/superblocks.h
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/superblocks.h
|
|
|
31b890 |
@@ -106,6 +106,8 @@ extern int blkid_probe_set_id_label(blkid_probe pr, const char *name,
|
|
|
31b890 |
extern int blkid_probe_set_utf8_id_label(blkid_probe pr, const char *name,
|
|
|
31b890 |
unsigned char *data, size_t len, int enc);
|
|
|
31b890 |
|
|
|
31b890 |
+int blkid_probe_set_block_size(blkid_probe pr, unsigned block_size);
|
|
|
31b890 |
+
|
|
|
31b890 |
extern int blkid_probe_is_bitlocker(blkid_probe pr);
|
|
|
31b890 |
|
|
|
31b890 |
#endif /* _BLKID_SUPERBLOCKS_H */
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/udf.c b/libblkid/src/superblocks/udf.c
|
|
|
31b890 |
index 97e79dab0..1ab8a1e26 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/udf.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/udf.c
|
|
|
31b890 |
@@ -464,6 +464,8 @@ real_blksz:
|
|
|
31b890 |
* E.g. number 0x0150 is revision 1.50, number 0x0201 is revision 2.01. */
|
|
|
31b890 |
blkid_probe_sprintf_version(pr, "%x.%02x", (unsigned int)(udf_rev >> 8), (unsigned int)(udf_rev & 0xFF));
|
|
|
31b890 |
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, bs);
|
|
|
31b890 |
+
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/ufs.c b/libblkid/src/superblocks/ufs.c
|
|
|
31b890 |
index 6ef2acddc..7a8396c1c 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/ufs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/ufs.c
|
|
|
31b890 |
@@ -233,6 +233,11 @@ found:
|
|
|
31b890 |
(unsigned char *) &ufs->fs_magic))
|
|
|
31b890 |
return 1;
|
|
|
31b890 |
|
|
|
31b890 |
+ if (!is_be)
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, le32_to_cpu(ufs->fs_fsize));
|
|
|
31b890 |
+ else
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, be32_to_cpu(ufs->fs_fsize));
|
|
|
31b890 |
+
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/vfat.c b/libblkid/src/superblocks/vfat.c
|
|
|
31b890 |
index 29b3c501c..4e93a0e41 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/vfat.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/vfat.c
|
|
|
31b890 |
@@ -436,6 +436,8 @@ static int probe_vfat(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
if (version)
|
|
|
31b890 |
blkid_probe_set_version(pr, version);
|
|
|
31b890 |
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, sector_size);
|
|
|
31b890 |
+
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/vxfs.c b/libblkid/src/superblocks/vxfs.c
|
|
|
31b890 |
index 19d284cbf..d9d26adcf 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/vxfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/vxfs.c
|
|
|
31b890 |
@@ -12,6 +12,15 @@
|
|
|
31b890 |
struct vxfs_super_block {
|
|
|
31b890 |
uint32_t vs_magic;
|
|
|
31b890 |
int32_t vs_version;
|
|
|
31b890 |
+ uint32_t vs_ctime;
|
|
|
31b890 |
+ uint32_t vs_cutime;
|
|
|
31b890 |
+ uint32_t __unused1;
|
|
|
31b890 |
+ uint32_t __unused2;
|
|
|
31b890 |
+ uint32_t vs_old_logstart;
|
|
|
31b890 |
+ uint32_t vs_old_logend;
|
|
|
31b890 |
+ uint32_t vs_bsize;
|
|
|
31b890 |
+ uint32_t vs_size;
|
|
|
31b890 |
+ uint32_t vs_dsize;
|
|
|
31b890 |
};
|
|
|
31b890 |
|
|
|
31b890 |
static int probe_vxfs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
@@ -22,7 +31,13 @@ static int probe_vxfs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
if (!vxs)
|
|
|
31b890 |
return errno ? -errno : 1;
|
|
|
31b890 |
|
|
|
31b890 |
- blkid_probe_sprintf_version(pr, "%u", (unsigned int) vxs->vs_version);
|
|
|
31b890 |
+ if (le32_to_cpu(vxs->vs_magic) == 0xa501fcf5) {
|
|
|
31b890 |
+ blkid_probe_sprintf_version(pr, "%u", (unsigned int)le32_to_cpu(vxs->vs_version));
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, le32_to_cpu(vxs->vs_bsize));
|
|
|
31b890 |
+ } else if (be32_to_cpu(vxs->vs_magic) == 0xa501fcf5) {
|
|
|
31b890 |
+ blkid_probe_sprintf_version(pr, "%u", (unsigned int)be32_to_cpu(vxs->vs_version));
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, be32_to_cpu(vxs->vs_bsize));
|
|
|
31b890 |
+ }
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
@@ -35,6 +50,7 @@ const struct blkid_idinfo vxfs_idinfo =
|
|
|
31b890 |
.magics =
|
|
|
31b890 |
{
|
|
|
31b890 |
{ .magic = "\365\374\001\245", .len = 4, .kboff = 1 },
|
|
|
31b890 |
+ { .magic = "\245\001\374\365", .len = 4, .kboff = 8 },
|
|
|
31b890 |
{ NULL }
|
|
|
31b890 |
}
|
|
|
31b890 |
};
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/xfs.c b/libblkid/src/superblocks/xfs.c
|
|
|
31b890 |
index 99848f900..eb513ac3e 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/xfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/xfs.c
|
|
|
31b890 |
@@ -173,6 +173,7 @@ static int probe_xfs(blkid_probe pr, const struct blkid_idmag *mag)
|
|
|
31b890 |
blkid_probe_set_label(pr, (unsigned char *) xs->sb_fname,
|
|
|
31b890 |
sizeof(xs->sb_fname));
|
|
|
31b890 |
blkid_probe_set_uuid(pr, xs->sb_uuid);
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, xs->sb_sectsize * 256);
|
|
|
31b890 |
return 0;
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
diff --git a/libblkid/src/superblocks/zfs.c b/libblkid/src/superblocks/zfs.c
|
|
|
31b890 |
index ec3e1c5bf..cc779c02a 100644
|
|
|
31b890 |
--- a/libblkid/src/superblocks/zfs.c
|
|
|
31b890 |
+++ b/libblkid/src/superblocks/zfs.c
|
|
|
31b890 |
@@ -37,6 +37,7 @@ struct zfs_uberblock {
|
|
|
31b890 |
|
|
|
31b890 |
#define DATA_TYPE_UINT64 8
|
|
|
31b890 |
#define DATA_TYPE_STRING 9
|
|
|
31b890 |
+#define DATA_TYPE_DIRECTORY 19
|
|
|
31b890 |
|
|
|
31b890 |
struct nvpair {
|
|
|
31b890 |
uint32_t nvp_size;
|
|
|
31b890 |
@@ -60,32 +61,37 @@ struct nvuint64 {
|
|
|
31b890 |
uint64_t nvu_value;
|
|
|
31b890 |
};
|
|
|
31b890 |
|
|
|
31b890 |
+struct nvdirectory {
|
|
|
31b890 |
+ uint32_t nvd_type;
|
|
|
31b890 |
+ uint32_t nvd_unknown[3];
|
|
|
31b890 |
+};
|
|
|
31b890 |
+
|
|
|
31b890 |
struct nvlist {
|
|
|
31b890 |
uint32_t nvl_unknown[3];
|
|
|
31b890 |
struct nvpair nvl_nvpair;
|
|
|
31b890 |
};
|
|
|
31b890 |
|
|
|
31b890 |
-static int zfs_process_value(blkid_probe pr, char *name, size_t namelen,
|
|
|
31b890 |
- void *value, size_t max_value_size)
|
|
|
31b890 |
+static void zfs_process_value(blkid_probe pr, char *name, size_t namelen,
|
|
|
31b890 |
+ void *value, size_t max_value_size, unsigned directory_level)
|
|
|
31b890 |
{
|
|
|
31b890 |
if (strncmp(name, "name", namelen) == 0 &&
|
|
|
31b890 |
- sizeof(struct nvstring) <= max_value_size) {
|
|
|
31b890 |
+ sizeof(struct nvstring) <= max_value_size &&
|
|
|
31b890 |
+ !directory_level) {
|
|
|
31b890 |
struct nvstring *nvs = value;
|
|
|
31b890 |
uint32_t nvs_type = be32_to_cpu(nvs->nvs_type);
|
|
|
31b890 |
uint32_t nvs_strlen = be32_to_cpu(nvs->nvs_strlen);
|
|
|
31b890 |
|
|
|
31b890 |
if (nvs_type != DATA_TYPE_STRING ||
|
|
|
31b890 |
(uint64_t)nvs_strlen + sizeof(*nvs) > max_value_size)
|
|
|
31b890 |
- return 0;
|
|
|
31b890 |
+ return;
|
|
|
31b890 |
|
|
|
31b890 |
DBG(LOWPROBE, ul_debug("nvstring: type %u string %*s\n",
|
|
|
31b890 |
nvs_type, nvs_strlen, nvs->nvs_string));
|
|
|
31b890 |
|
|
|
31b890 |
blkid_probe_set_label(pr, nvs->nvs_string, nvs_strlen);
|
|
|
31b890 |
-
|
|
|
31b890 |
- return 1;
|
|
|
31b890 |
} else if (strncmp(name, "guid", namelen) == 0 &&
|
|
|
31b890 |
- sizeof(struct nvuint64) <= max_value_size) {
|
|
|
31b890 |
+ sizeof(struct nvuint64) <= max_value_size &&
|
|
|
31b890 |
+ !directory_level) {
|
|
|
31b890 |
struct nvuint64 *nvu = value;
|
|
|
31b890 |
uint32_t nvu_type = be32_to_cpu(nvu->nvu_type);
|
|
|
31b890 |
uint64_t nvu_value;
|
|
|
31b890 |
@@ -94,17 +100,16 @@ static int zfs_process_value(blkid_probe pr, char *name, size_t namelen,
|
|
|
31b890 |
nvu_value = be64_to_cpu(nvu_value);
|
|
|
31b890 |
|
|
|
31b890 |
if (nvu_type != DATA_TYPE_UINT64)
|
|
|
31b890 |
- return 0;
|
|
|
31b890 |
+ return;
|
|
|
31b890 |
|
|
|
31b890 |
DBG(LOWPROBE, ul_debug("nvuint64: type %u value %"PRIu64"\n",
|
|
|
31b890 |
nvu_type, nvu_value));
|
|
|
31b890 |
|
|
|
31b890 |
blkid_probe_sprintf_value(pr, "UUID_SUB",
|
|
|
31b890 |
"%"PRIu64, nvu_value);
|
|
|
31b890 |
-
|
|
|
31b890 |
- return 1;
|
|
|
31b890 |
} else if (strncmp(name, "pool_guid", namelen) == 0 &&
|
|
|
31b890 |
- sizeof(struct nvuint64) <= max_value_size) {
|
|
|
31b890 |
+ sizeof(struct nvuint64) <= max_value_size &&
|
|
|
31b890 |
+ !directory_level) {
|
|
|
31b890 |
struct nvuint64 *nvu = value;
|
|
|
31b890 |
uint32_t nvu_type = be32_to_cpu(nvu->nvu_type);
|
|
|
31b890 |
uint64_t nvu_value;
|
|
|
31b890 |
@@ -113,7 +118,7 @@ static int zfs_process_value(blkid_probe pr, char *name, size_t namelen,
|
|
|
31b890 |
nvu_value = be64_to_cpu(nvu_value);
|
|
|
31b890 |
|
|
|
31b890 |
if (nvu_type != DATA_TYPE_UINT64)
|
|
|
31b890 |
- return 0;
|
|
|
31b890 |
+ return;
|
|
|
31b890 |
|
|
|
31b890 |
DBG(LOWPROBE, ul_debug("nvuint64: type %u value %"PRIu64"\n",
|
|
|
31b890 |
nvu_type, nvu_value));
|
|
|
31b890 |
@@ -121,10 +126,21 @@ static int zfs_process_value(blkid_probe pr, char *name, size_t namelen,
|
|
|
31b890 |
blkid_probe_sprintf_uuid(pr, (unsigned char *) &nvu_value,
|
|
|
31b890 |
sizeof(nvu_value),
|
|
|
31b890 |
"%"PRIu64, nvu_value);
|
|
|
31b890 |
- return 1;
|
|
|
31b890 |
- }
|
|
|
31b890 |
+ } else if (strncmp(name, "ashift", namelen) == 0 &&
|
|
|
31b890 |
+ sizeof(struct nvuint64) <= max_value_size) {
|
|
|
31b890 |
+ struct nvuint64 *nvu = value;
|
|
|
31b890 |
+ uint32_t nvu_type = be32_to_cpu(nvu->nvu_type);
|
|
|
31b890 |
+ uint64_t nvu_value;
|
|
|
31b890 |
|
|
|
31b890 |
- return 0;
|
|
|
31b890 |
+ memcpy(&nvu_value, &nvu->nvu_value, sizeof(nvu_value));
|
|
|
31b890 |
+ nvu_value = be64_to_cpu(nvu_value);
|
|
|
31b890 |
+
|
|
|
31b890 |
+ if (nvu_type != DATA_TYPE_UINT64)
|
|
|
31b890 |
+ return;
|
|
|
31b890 |
+
|
|
|
31b890 |
+ if (nvu_value < 32)
|
|
|
31b890 |
+ blkid_probe_set_block_size(pr, 1U << nvu_value);
|
|
|
31b890 |
+ }
|
|
|
31b890 |
}
|
|
|
31b890 |
|
|
|
31b890 |
static void zfs_extract_guid_name(blkid_probe pr, loff_t offset)
|
|
|
31b890 |
@@ -133,7 +149,7 @@ static void zfs_extract_guid_name(blkid_probe pr, loff_t offset)
|
|
|
31b890 |
struct nvlist *nvl;
|
|
|
31b890 |
struct nvpair *nvp;
|
|
|
31b890 |
size_t left = 4096;
|
|
|
31b890 |
- int found = 0;
|
|
|
31b890 |
+ unsigned directory_level = 0;
|
|
|
31b890 |
|
|
|
31b890 |
offset = (offset & ~(VDEV_LABEL_SIZE - 1)) + VDEV_LABEL_NVPAIR;
|
|
|
31b890 |
|
|
|
31b890 |
@@ -152,13 +168,21 @@ static void zfs_extract_guid_name(blkid_probe pr, loff_t offset)
|
|
|
31b890 |
nvp = &nvl->nvl_nvpair;
|
|
|
31b890 |
left -= (unsigned char *)nvp - p; /* Already used up 12 bytes */
|
|
|
31b890 |
|
|
|
31b890 |
- while (left > sizeof(*nvp) && nvp->nvp_size != 0 && found < 3) {
|
|
|
31b890 |
+ while (left > sizeof(*nvp)) {
|
|
|
31b890 |
uint32_t nvp_size = be32_to_cpu(nvp->nvp_size);
|
|
|
31b890 |
uint32_t nvp_namelen = be32_to_cpu(nvp->nvp_namelen);
|
|
|
31b890 |
uint64_t namesize = ((uint64_t)nvp_namelen + 3) & ~3;
|
|
|
31b890 |
size_t max_value_size;
|
|
|
31b890 |
void *value;
|
|
|
31b890 |
|
|
|
31b890 |
+ if (!nvp->nvp_size) {
|
|
|
31b890 |
+ if (!directory_level)
|
|
|
31b890 |
+ break;
|
|
|
31b890 |
+ directory_level--;
|
|
|
31b890 |
+ nvp_size = 8;
|
|
|
31b890 |
+ goto cont;
|
|
|
31b890 |
+ }
|
|
|
31b890 |
+
|
|
|
31b890 |
DBG(LOWPROBE, ul_debug("left %zd nvp_size %u\n",
|
|
|
31b890 |
left, nvp_size));
|
|
|
31b890 |
|
|
|
31b890 |
@@ -174,9 +198,21 @@ static void zfs_extract_guid_name(blkid_probe pr, loff_t offset)
|
|
|
31b890 |
max_value_size = nvp_size - (namesize + sizeof(*nvp));
|
|
|
31b890 |
value = nvp->nvp_name + namesize;
|
|
|
31b890 |
|
|
|
31b890 |
- found += zfs_process_value(pr, nvp->nvp_name, nvp_namelen,
|
|
|
31b890 |
- value, max_value_size);
|
|
|
31b890 |
+ if (sizeof(struct nvdirectory) <= max_value_size) {
|
|
|
31b890 |
+ struct nvdirectory *nvu = value;
|
|
|
31b890 |
+ if (be32_to_cpu(nvu->nvd_type) == DATA_TYPE_DIRECTORY) {
|
|
|
31b890 |
+ nvp_size = sizeof(*nvp) + namesize + sizeof(*nvu);
|
|
|
31b890 |
+ directory_level++;
|
|
|
31b890 |
+ goto cont;
|
|
|
31b890 |
+ }
|
|
|
31b890 |
+ }
|
|
|
31b890 |
+
|
|
|
31b890 |
+ zfs_process_value(pr, nvp->nvp_name, nvp_namelen,
|
|
|
31b890 |
+ value, max_value_size, directory_level);
|
|
|
31b890 |
|
|
|
31b890 |
+cont:
|
|
|
31b890 |
+ if (nvp_size > left)
|
|
|
31b890 |
+ break;
|
|
|
31b890 |
left -= nvp_size;
|
|
|
31b890 |
|
|
|
31b890 |
nvp = (struct nvpair *)((char *)nvp + nvp_size);
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-befs b/tests/expected/blkid/low-probe-befs
|
|
|
31b890 |
index b7f25cdd2..5717049d2 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-befs
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-befs
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=1024
|
|
|
31b890 |
ID_FS_LABEL=befs_test
|
|
|
31b890 |
ID_FS_LABEL_ENC=befs_test
|
|
|
31b890 |
ID_FS_TYPE=befs
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-exfat b/tests/expected/blkid/low-probe-exfat
|
|
|
31b890 |
index b9defbdf9..59cb35225 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-exfat
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-exfat
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=Новый_том
|
|
|
31b890 |
ID_FS_LABEL_ENC=Новый\x20том
|
|
|
31b890 |
ID_FS_TYPE=exfat
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-ext2 b/tests/expected/blkid/low-probe-ext2
|
|
|
31b890 |
index c70b85698..087da97a4 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-ext2
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-ext2
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=1024
|
|
|
31b890 |
ID_FS_LABEL=test-ext2
|
|
|
31b890 |
ID_FS_LABEL_ENC=test-ext2
|
|
|
31b890 |
ID_FS_TYPE=ext2
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-ext3 b/tests/expected/blkid/low-probe-ext3
|
|
|
31b890 |
index 4bac43f57..8684884c1 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-ext3
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-ext3
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=1024
|
|
|
31b890 |
ID_FS_LABEL=test-ext3
|
|
|
31b890 |
ID_FS_LABEL_ENC=test-ext3
|
|
|
31b890 |
ID_FS_SEC_TYPE=ext2
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-f2fs b/tests/expected/blkid/low-probe-f2fs
|
|
|
31b890 |
index ee328640e..272905125 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-f2fs
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-f2fs
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=4096
|
|
|
31b890 |
ID_FS_LABEL=test-f2fs
|
|
|
31b890 |
ID_FS_LABEL_ENC=test-f2fs
|
|
|
31b890 |
ID_FS_TYPE=f2fs
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-fat b/tests/expected/blkid/low-probe-fat
|
|
|
31b890 |
index 420121117..75f99434d 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-fat
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-fat
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=TEST-FAT
|
|
|
31b890 |
ID_FS_LABEL_ENC=TEST-FAT
|
|
|
31b890 |
ID_FS_SEC_TYPE=msdos
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-fat16_noheads b/tests/expected/blkid/low-probe-fat16_noheads
|
|
|
31b890 |
index ba47078d2..ff9ef2e69 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-fat16_noheads
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-fat16_noheads
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=VTech_1070
|
|
|
31b890 |
ID_FS_LABEL_ENC=VTech\x201070
|
|
|
31b890 |
ID_FS_SEC_TYPE=msdos
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-fat32_cp850_O_tilde b/tests/expected/blkid/low-probe-fat32_cp850_O_tilde
|
|
|
31b890 |
index 096bcbf2c..9ce58e3d9 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-fat32_cp850_O_tilde
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-fat32_cp850_O_tilde
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=___
|
|
|
31b890 |
ID_FS_LABEL_ENC=\xe5\xe5\xe5
|
|
|
31b890 |
ID_FS_TYPE=vfat
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-fat32_label_64MB b/tests/expected/blkid/low-probe-fat32_label_64MB
|
|
|
31b890 |
index 1179490cf..4a99f8ff6 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-fat32_label_64MB
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-fat32_label_64MB
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=BINGO
|
|
|
31b890 |
ID_FS_LABEL_ENC=BINGO
|
|
|
31b890 |
ID_FS_TYPE=vfat
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-gfs2 b/tests/expected/blkid/low-probe-gfs2
|
|
|
31b890 |
index cd5a664b4..f04529bc0 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-gfs2
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-gfs2
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=4096
|
|
|
31b890 |
ID_FS_LABEL=mycluster:mygfs2
|
|
|
31b890 |
ID_FS_LABEL_ENC=mycluster:mygfs2
|
|
|
31b890 |
ID_FS_TYPE=gfs2
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-hfsplus b/tests/expected/blkid/low-probe-hfsplus
|
|
|
31b890 |
index f54b59f11..cc351a042 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-hfsplus
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-hfsplus
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=4096
|
|
|
31b890 |
ID_FS_LABEL=123456789ABCDE
|
|
|
31b890 |
ID_FS_LABEL_ENC=123456789ABCDE
|
|
|
31b890 |
ID_FS_TYPE=hfsplus
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-hpfs b/tests/expected/blkid/low-probe-hpfs
|
|
|
31b890 |
index 47ae1af28..7e4a12b97 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-hpfs
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-hpfs
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=P01_S16A
|
|
|
31b890 |
ID_FS_LABEL_ENC=P01\x20S16A
|
|
|
31b890 |
ID_FS_TYPE=hpfs
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-iso b/tests/expected/blkid/low-probe-iso
|
|
|
31b890 |
index af9908aaa..082f0742a 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-iso
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-iso
|
|
|
31b890 |
@@ -1,4 +1,5 @@
|
|
|
31b890 |
ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=2048
|
|
|
31b890 |
ID_FS_LABEL=IsoVolumeName
|
|
|
31b890 |
ID_FS_LABEL_ENC=IsoVolumeName
|
|
|
31b890 |
ID_FS_SYSTEM_ID=LINUX
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-iso-joliet b/tests/expected/blkid/low-probe-iso-joliet
|
|
|
31b890 |
index 0229a0d2c..06f529d03 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-iso-joliet
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-iso-joliet
|
|
|
31b890 |
@@ -1,4 +1,5 @@
|
|
|
31b890 |
ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=2048
|
|
|
31b890 |
ID_FS_LABEL=ThisWonderfulLabelIsVeryVeryLong
|
|
|
31b890 |
ID_FS_LABEL_ENC=ThisWonderfulLabelIsVeryVeryLong
|
|
|
31b890 |
ID_FS_SYSTEM_ID=LINUX
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-iso-rr-joliet b/tests/expected/blkid/low-probe-iso-rr-joliet
|
|
|
31b890 |
index 14d550e90..bb3274db3 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-iso-rr-joliet
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-iso-rr-joliet
|
|
|
31b890 |
@@ -1,4 +1,5 @@
|
|
|
31b890 |
ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=2048
|
|
|
31b890 |
ID_FS_LABEL=ThisIsVolumeName
|
|
|
31b890 |
ID_FS_LABEL_ENC=ThisIsVolumeName
|
|
|
31b890 |
ID_FS_SYSTEM_ID=LINUX
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-jbd b/tests/expected/blkid/low-probe-jbd
|
|
|
31b890 |
index 8dbcdbce0..c9f9f6b79 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-jbd
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-jbd
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=1024
|
|
|
31b890 |
ID_FS_LOGUUID=0d7a07df-7b06-4829-bce7-3b9c3ece570c
|
|
|
31b890 |
ID_FS_TYPE=jbd
|
|
|
31b890 |
ID_FS_USAGE=other
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-jfs b/tests/expected/blkid/low-probe-jfs
|
|
|
31b890 |
index 877fd168e..ac7d31bac 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-jfs
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-jfs
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=4096
|
|
|
31b890 |
ID_FS_LABEL=test-jfs
|
|
|
31b890 |
ID_FS_LABEL_ENC=test-jfs
|
|
|
31b890 |
ID_FS_TYPE=jfs
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-minix-BE b/tests/expected/blkid/low-probe-minix-BE
|
|
|
31b890 |
index 9627799a3..f73f1b5db 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-minix-BE
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-minix-BE
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=1024
|
|
|
31b890 |
ID_FS_TYPE=minix
|
|
|
31b890 |
ID_FS_USAGE=filesystem
|
|
|
31b890 |
ID_FS_VERSION=1
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-minix-LE b/tests/expected/blkid/low-probe-minix-LE
|
|
|
31b890 |
index 9627799a3..f73f1b5db 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-minix-LE
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-minix-LE
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=1024
|
|
|
31b890 |
ID_FS_TYPE=minix
|
|
|
31b890 |
ID_FS_USAGE=filesystem
|
|
|
31b890 |
ID_FS_VERSION=1
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-nilfs2 b/tests/expected/blkid/low-probe-nilfs2
|
|
|
31b890 |
index c6c9cab17..ff27e0b23 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-nilfs2
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-nilfs2
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=4096
|
|
|
31b890 |
ID_FS_LABEL=test-nilfs2
|
|
|
31b890 |
ID_FS_LABEL_ENC=test-nilfs2
|
|
|
31b890 |
ID_FS_TYPE=nilfs2
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-ntfs b/tests/expected/blkid/low-probe-ntfs
|
|
|
31b890 |
index aaaa077da..790157aaa 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-ntfs
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-ntfs
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=Новый_том
|
|
|
31b890 |
ID_FS_LABEL_ENC=Новый\x20том
|
|
|
31b890 |
ID_FS_TYPE=ntfs
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-ocfs2 b/tests/expected/blkid/low-probe-ocfs2
|
|
|
31b890 |
index 2328d21a0..9b84dbe67 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-ocfs2
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-ocfs2
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=1024
|
|
|
31b890 |
ID_FS_LABEL=test-ocfs2
|
|
|
31b890 |
ID_FS_LABEL_ENC=test-ocfs2
|
|
|
31b890 |
ID_FS_TYPE=ocfs2
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-reiser3 b/tests/expected/blkid/low-probe-reiser3
|
|
|
31b890 |
index d376ecae1..1c4b1478d 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-reiser3
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-reiser3
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=4096
|
|
|
31b890 |
ID_FS_LABEL=TESTREISER
|
|
|
31b890 |
ID_FS_LABEL_ENC=TESTREISER
|
|
|
31b890 |
ID_FS_TYPE=reiserfs
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-reiser4 b/tests/expected/blkid/low-probe-reiser4
|
|
|
31b890 |
index 65d63aa65..66df064fd 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-reiser4
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-reiser4
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=4096
|
|
|
31b890 |
ID_FS_LABEL=TESTR4
|
|
|
31b890 |
ID_FS_LABEL_ENC=TESTR4
|
|
|
31b890 |
ID_FS_TYPE=reiser4
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-romfs b/tests/expected/blkid/low-probe-romfs
|
|
|
31b890 |
index 2eb982bc1..b56a6b881 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-romfs
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-romfs
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=1024
|
|
|
31b890 |
ID_FS_LABEL=test-romfs
|
|
|
31b890 |
ID_FS_LABEL_ENC=test-romfs
|
|
|
31b890 |
ID_FS_TYPE=romfs
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-small-fat32 b/tests/expected/blkid/low-probe-small-fat32
|
|
|
31b890 |
index 39239e6b3..5dba03ec3 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-small-fat32
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-small-fat32
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=TESTVFAT
|
|
|
31b890 |
ID_FS_LABEL_ENC=TESTVFAT
|
|
|
31b890 |
ID_FS_TYPE=vfat
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf b/tests/expected/blkid/low-probe-udf
|
|
|
31b890 |
index 902fb82f0..869a335db 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=2048
|
|
|
31b890 |
ID_FS_LABEL=test-udf
|
|
|
31b890 |
ID_FS_LABEL_ENC=test-udf
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=test-udf
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-bdr-2.60-nero b/tests/expected/blkid/low-probe-udf-bdr-2.60-nero
|
|
|
31b890 |
index c0b8867b5..fcf29b112 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-bdr-2.60-nero
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-bdr-2.60-nero
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=2048
|
|
|
31b890 |
ID_FS_LABEL=Label
|
|
|
31b890 |
ID_FS_LABEL_ENC=Label
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=Label
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-cd-mkudfiso-20100208 b/tests/expected/blkid/low-probe-udf-cd-mkudfiso-20100208
|
|
|
31b890 |
index f57dee08b..768d0d2f0 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-cd-mkudfiso-20100208
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-cd-mkudfiso-20100208
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=2048
|
|
|
31b890 |
ID_FS_LABEL=Volume_Label
|
|
|
31b890 |
ID_FS_LABEL_ENC=Volume\x20Label
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=Volume Label
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-cd-nero-6 b/tests/expected/blkid/low-probe-udf-cd-nero-6
|
|
|
31b890 |
index cf85ea9c5..41f9ff509 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-cd-nero-6
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-cd-nero-6
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=2048
|
|
|
31b890 |
ID_FS_LABEL=UDF_Label
|
|
|
31b890 |
ID_FS_LABEL_ENC=UDF\x20Label
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=UDF Label
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-1 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-1
|
|
|
31b890 |
index 5446aec42..e26b2da0c 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-1
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-1
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=LinuxUDF
|
|
|
31b890 |
ID_FS_LABEL_ENC=LinuxUDF
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=LinuxUDF
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-2 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-2
|
|
|
31b890 |
index b72fcac72..112768353 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-2
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-2
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=Label
|
|
|
31b890 |
ID_FS_LABEL_ENC=Label
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=Label
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-1 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-1
|
|
|
31b890 |
index 20f148549..db9127d34 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-1
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-1
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=Label
|
|
|
31b890 |
ID_FS_LABEL_ENC=Label
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=Label
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-2 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-2
|
|
|
31b890 |
index 34a2f49e3..f472284f3 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-2
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-2
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=2048
|
|
|
31b890 |
ID_FS_LABEL=Label
|
|
|
31b890 |
ID_FS_LABEL_ENC=Label
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=Label
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-3 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-3
|
|
|
31b890 |
index 3fef2b3c6..6f4802ca0 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-3
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-3
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=2048
|
|
|
31b890 |
ID_FS_LABEL=ÿ
|
|
|
31b890 |
ID_FS_LABEL_ENC=ÿ
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=ÿ
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-4 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-4
|
|
|
31b890 |
index 28cd73603..0ae5b910e 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-4
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-4
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=1024
|
|
|
31b890 |
ID_FS_LABEL=Label
|
|
|
31b890 |
ID_FS_LABEL_ENC=Label
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=Label
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-5 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-5
|
|
|
31b890 |
index d84ae8964..1b98c21ed 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-5
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-5
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=4096
|
|
|
31b890 |
ID_FS_LABEL=Label
|
|
|
31b890 |
ID_FS_LABEL_ENC=Label
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=Label
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-6 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-6
|
|
|
31b890 |
index d73914970..c22c96b0a 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-6
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-6
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
|
31b890 |
ID_FS_LABEL_ENC=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-7 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-7
|
|
|
31b890 |
index a78606eea..c3b9d8a8a 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-7
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-7
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=4096
|
|
|
31b890 |
ID_FS_LABEL=Label4096
|
|
|
31b890 |
ID_FS_LABEL_ENC=Label4096
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=Label4096
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-8 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-8
|
|
|
31b890 |
index 448c8f90b..58c131f7d 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-8
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-8
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=LinuxUDF
|
|
|
31b890 |
ID_FS_LABEL_ENC=LinuxUDF
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=LinuxUDF
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.5 b/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.5
|
|
|
31b890 |
index b33c814d6..18930cead 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.5
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.5
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=discname
|
|
|
31b890 |
ID_FS_LABEL_ENC=discname
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=discname
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.7 b/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.7
|
|
|
31b890 |
index a47bd3f12..13e984167 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.7
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.7
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=discname
|
|
|
31b890 |
ID_FS_LABEL_ENC=discname
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=discname
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-udf-hdd-win7 b/tests/expected/blkid/low-probe-udf-hdd-win7
|
|
|
31b890 |
index 759c8db3d..e68f180e5 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-udf-hdd-win7
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-udf-hdd-win7
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=My_volume_label
|
|
|
31b890 |
ID_FS_LABEL_ENC=My\x20volume\x20label
|
|
|
31b890 |
ID_FS_LOGICAL_VOLUME_ID=My volume label
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-ufs b/tests/expected/blkid/low-probe-ufs
|
|
|
31b890 |
index 96828d73e..256f065d2 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-ufs
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-ufs
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=2048
|
|
|
31b890 |
ID_FS_TYPE=ufs
|
|
|
31b890 |
ID_FS_USAGE=filesystem
|
|
|
31b890 |
ID_FS_UUID=4b0e640aec56ac70
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-xfs b/tests/expected/blkid/low-probe-xfs
|
|
|
31b890 |
index f21d881a5..6eb1b4600 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-xfs
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-xfs
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=test-xfs
|
|
|
31b890 |
ID_FS_LABEL_ENC=test-xfs
|
|
|
31b890 |
ID_FS_TYPE=xfs
|
|
|
31b890 |
diff --git a/tests/expected/blkid/low-probe-zfs b/tests/expected/blkid/low-probe-zfs
|
|
|
31b890 |
index 952e0e591..0e7af2866 100644
|
|
|
31b890 |
--- a/tests/expected/blkid/low-probe-zfs
|
|
|
31b890 |
+++ b/tests/expected/blkid/low-probe-zfs
|
|
|
31b890 |
@@ -1,3 +1,4 @@
|
|
|
31b890 |
+ID_FS_BLOCK_SIZE=512
|
|
|
31b890 |
ID_FS_LABEL=tank
|
|
|
31b890 |
ID_FS_LABEL_ENC=tank
|
|
|
31b890 |
ID_FS_TYPE=zfs_member
|
|
|
31b890 |
--
|
|
|
31b890 |
2.25.4
|
|
|
31b890 |
|