summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libblkid/src/superblocks/udf.c10
-rw-r--r--tests/expected/blkid/low-probe-udf-bdr-2.60-nero10
-rw-r--r--tests/ts/blkid/images-fs/udf-bdr-2.60-nero.img.xzbin0 -> 1956 bytes
3 files changed, 20 insertions, 0 deletions
diff --git a/libblkid/src/superblocks/udf.c b/libblkid/src/superblocks/udf.c
index bd8e0a5c2..97e79dab0 100644
--- a/libblkid/src/superblocks/udf.c
+++ b/libblkid/src/superblocks/udf.c
@@ -446,6 +446,16 @@ real_blksz:
lvidiu_udf_rev = le16_to_cpu(lvidiu->min_udf_read_rev);
if (lvidiu_udf_rev)
udf_rev = lvidiu_udf_rev;
+ /* UDF-2.60: 2. Basic Restrictions & Requirements:
+ * The Minimum UDF Read Revision value shall be at most #0250
+ * for all media with a UDF 2.60 file system.
+ * So in this case use Minimum UDF Write Revision as ID_FS_VERSION
+ * to distinguish between UDF 2.50 and UDF 2.60 discs. */
+ if (lvidiu_udf_rev == 0x250) {
+ lvidiu_udf_rev = le16_to_cpu(lvidiu->min_udf_write_rev);
+ if (lvidiu_udf_rev > 0x250)
+ udf_rev = lvidiu_udf_rev;
+ }
}
}
diff --git a/tests/expected/blkid/low-probe-udf-bdr-2.60-nero b/tests/expected/blkid/low-probe-udf-bdr-2.60-nero
new file mode 100644
index 000000000..c0b8867b5
--- /dev/null
+++ b/tests/expected/blkid/low-probe-udf-bdr-2.60-nero
@@ -0,0 +1,10 @@
+ID_FS_LABEL=Label
+ID_FS_LABEL_ENC=Label
+ID_FS_LOGICAL_VOLUME_ID=Label
+ID_FS_TYPE=udf
+ID_FS_USAGE=filesystem
+ID_FS_UUID=3b4a858dc4b57a72
+ID_FS_UUID_ENC=3b4a858dc4b57a72
+ID_FS_VERSION=2.60
+ID_FS_VOLUME_ID=Label
+ID_FS_VOLUME_SET_ID=3B4A858DC4B57A72
diff --git a/tests/ts/blkid/images-fs/udf-bdr-2.60-nero.img.xz b/tests/ts/blkid/images-fs/udf-bdr-2.60-nero.img.xz
new file mode 100644
index 000000000..9fb9a4fec
--- /dev/null
+++ b/tests/ts/blkid/images-fs/udf-bdr-2.60-nero.img.xz
Binary files differ