summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@fedoraproject.org>2007-09-18 17:47:14 +0000
committerEric Sandeen <sandeen@fedoraproject.org>2007-09-18 17:47:14 +0000
commit1c04cf09dc1985afcaf56d3a6b68183fb92c5c2a (patch)
tree59fd75bd8b5d13cd678a909e6ee13b4267415067
parentcef67f3f62c85f0ea02c2b69aa6175fb4ffb1183 (diff)
downloade2fsprogs-1c04cf09dc1985afcaf56d3a6b68183fb92c5c2a.tar.gz
e2fsprogs-1c04cf09dc1985afcaf56d3a6b68183fb92c5c2a.tar.xz
e2fsprogs-1c04cf09dc1985afcaf56d3a6b68183fb92c5c2a.zip
* Tue Sep 18 2007 Eric Sandeen <esandeen@redhat.com> 1.40.2-7e2fsprogs-1_40_2-7_fc8
- Fix blkid fat probe when there is a real MBR (#290951)
-rw-r--r--e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch67
-rw-r--r--e2fsprogs.spec9
2 files changed, 75 insertions, 1 deletions
diff --git a/e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch b/e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch
new file mode 100644
index 0000000..63ebf68
--- /dev/null
+++ b/e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch
@@ -0,0 +1,67 @@
+From 3a493033ce3867a2561d60c1016dd0c03999e5eb Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Tue, 18 Sep 2007 15:29:59 +0200
+Subject: [PATCH] libblkid: FAT magic is not on strict position when there is a real MBR
+
+There is _optional_ reserved space before FAT:
+
+ boot | reserved | FAT | FAT | root | data
+ sector | space | 1 | 2 | dir | region
+
+for more details see:
+ http://en.wikipedia.org/wiki/File_Allocation_Table
+
+The probe_fat() code already expects reserved space and other optional
+junk in MBR+FAT, but the blkid_magic array expects strictly defined
+positions of FAT magic strings. That's correct for 99% partitions, but
+not for situation when on the same partition is real MBR. We need to check
+for FAT filesystem also when we detect MBR signature (0x55AA on address 510).
+
+The blkid is not able to detect vfat on USB Disks where is only one
+bootable partition with vfat, for example:
+
+ # file -s /dev/sdc1
+ /dev/sdc1: x86 boot sector; GRand Unified Bootloader, stage1 version
+ 0x3, 1st sector stage2 0x44ae, code offset 0x48, sectors/cluster 8,
+ Media descriptor 0xf8, heads 4, sectors 3901408 (volumes > 32 MB) ,
+ physical drive 0xdb, physical drive 0x5b, reserved 0xe, dos < 4.0
+ BootSector (0x0)
+
+ # vol_id /dev/sdc1
+ ID_FS_USAGE=filesystem
+ ID_FS_TYPE=vfat
+ ID_FS_VERSION=FAT32
+ ID_FS_UUID=0044-AE80
+ ID_FS_UUID_ENC=0044-AE80
+ ID_FS_LABEL=Mdv_Flash
+ ID_FS_LABEL_ENC=Mdv_Flash
+ ID_FS_LABEL_SAFE=Mdv_Flash
+
+old version:
+ # blkid /dev/sdc1
+
+fixed version:
+ # blkid /dev/sdc1
+ /dev/sdc1: LABEL="MDV_FLASH" UUID="0044-AE80" TYPE="vfat"
+
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ lib/blkid/probe.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c
+index d56292e..42ec234 100644
+--- a/lib/blkid/probe.c
++++ b/lib/blkid/probe.c
+@@ -849,6 +849,7 @@ static struct blkid_magic type_array[] = {
+ { "vfat", 0, 0x36, 8, "FAT12 ", probe_fat },
+ { "vfat", 0, 0, 2, "\353\220", probe_fat_nomagic },
+ { "vfat", 0, 0, 1, "\351", probe_fat_nomagic },
++ { "vfat", 0, 0x1fe, 2, "\125\252", probe_fat },
+ { "minix", 1, 0x10, 2, "\177\023", 0 },
+ { "minix", 1, 0x10, 2, "\217\023", 0 },
+ { "minix", 1, 0x10, 2, "\150\044", 0 },
+--
+1.5.2.4
+
+
diff --git a/e2fsprogs.spec b/e2fsprogs.spec
index 7b8d7cc..d0e2da6 100644
--- a/e2fsprogs.spec
+++ b/e2fsprogs.spec
@@ -4,7 +4,7 @@
Summary: Utilities for managing the second and third extended (ext2/ext3) filesystems
Name: e2fsprogs
Version: 1.40.2
-Release: 6%{?dist}
+Release: 7%{?dist}
# License based on upstream-modified COPYING file,
# which clearly states "V2" intent.
License: GPLv2
@@ -22,6 +22,7 @@ Patch63: e2fsprogs-1.40.2-warning-fixes.patch
Patch64: e2fsprogs-1.40.2-swapfs.patch
Patch65: e2fsprogs-1.40.2-fix-open-create-modes.patch
Patch66: e2fsprogs-1.40.2-protect-open-ops.patch
+Patch67: e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch
Url: http://e2fsprogs.sourceforge.net/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -100,6 +101,9 @@ also want to install e2fsprogs.
%patch65 -p1 -b .creatmode
# protect ->open ops from glibc open-create-mode-checker
%patch66 -p1 -b .open
+# fix fat probe when there is a real MBR
+%patch67 -p1 -b .blkid-fat
+
%build
aclocal
autoconf
@@ -260,6 +264,9 @@ exit 0
%{_mandir}/man3/uuid_unparse.3*
%changelog
+* Tue Sep 18 2007 Eric Sandeen <esandeen@redhat.com> 1.40.2-7
+- Fix blkid fat probe when there is a real MBR (#290951)
+
* Tue Sep 18 2007 Oliver Falk <oliver@linux-kernel.at> 1.40.2-6
- Add alpha to the header wrappers