* Tue Sep 18 2007 Eric Sandeen <esandeen@redhat.com> 1.40.2-7
- Fix blkid fat probe when there is a real MBR (#290951)
This commit is contained in:
parent
cef67f3f62
commit
1c04cf09dc
@ -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
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
Summary: Utilities for managing the second and third extended (ext2/ext3) filesystems
|
Summary: Utilities for managing the second and third extended (ext2/ext3) filesystems
|
||||||
Name: e2fsprogs
|
Name: e2fsprogs
|
||||||
Version: 1.40.2
|
Version: 1.40.2
|
||||||
Release: 6%{?dist}
|
Release: 7%{?dist}
|
||||||
# License based on upstream-modified COPYING file,
|
# License based on upstream-modified COPYING file,
|
||||||
# which clearly states "V2" intent.
|
# which clearly states "V2" intent.
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
@ -22,6 +22,7 @@ Patch63: e2fsprogs-1.40.2-warning-fixes.patch
|
|||||||
Patch64: e2fsprogs-1.40.2-swapfs.patch
|
Patch64: e2fsprogs-1.40.2-swapfs.patch
|
||||||
Patch65: e2fsprogs-1.40.2-fix-open-create-modes.patch
|
Patch65: e2fsprogs-1.40.2-fix-open-create-modes.patch
|
||||||
Patch66: e2fsprogs-1.40.2-protect-open-ops.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/
|
Url: http://e2fsprogs.sourceforge.net/
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
@ -100,6 +101,9 @@ also want to install e2fsprogs.
|
|||||||
%patch65 -p1 -b .creatmode
|
%patch65 -p1 -b .creatmode
|
||||||
# protect ->open ops from glibc open-create-mode-checker
|
# protect ->open ops from glibc open-create-mode-checker
|
||||||
%patch66 -p1 -b .open
|
%patch66 -p1 -b .open
|
||||||
|
# fix fat probe when there is a real MBR
|
||||||
|
%patch67 -p1 -b .blkid-fat
|
||||||
|
|
||||||
%build
|
%build
|
||||||
aclocal
|
aclocal
|
||||||
autoconf
|
autoconf
|
||||||
@ -260,6 +264,9 @@ exit 0
|
|||||||
%{_mandir}/man3/uuid_unparse.3*
|
%{_mandir}/man3/uuid_unparse.3*
|
||||||
|
|
||||||
%changelog
|
%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
|
* Tue Sep 18 2007 Oliver Falk <oliver@linux-kernel.at> 1.40.2-6
|
||||||
- Add alpha to the header wrappers
|
- Add alpha to the header wrappers
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user