rpms/e2fsprogs/devel e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch, NONE, 1.1 e2fsprogs.spec, 1.80, 1.81

Eric Sandeen (sandeen) fedora-extras-commits at redhat.com
Tue Sep 18 17:47:47 UTC 2007


Author: sandeen

Update of /cvs/pkgs/rpms/e2fsprogs/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8930

Modified Files:
	e2fsprogs.spec 
Added Files:
	e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch 
Log Message:
* Tue Sep 18 2007 Eric Sandeen <esandeen at redhat.com> 1.40.2-7
- Fix blkid fat probe when there is a real MBR (#290951)


e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch:

--- NEW FILE e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch ---
>From 3a493033ce3867a2561d60c1016dd0c03999e5eb Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak at 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 at 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




Index: e2fsprogs.spec
===================================================================
RCS file: /cvs/pkgs/rpms/e2fsprogs/devel/e2fsprogs.spec,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- e2fsprogs.spec	18 Sep 2007 13:09:34 -0000	1.80
+++ e2fsprogs.spec	18 Sep 2007 17:47:14 -0000	1.81
@@ -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 @@
 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 @@
 %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 @@
 %{_mandir}/man3/uuid_unparse.3*
 
 %changelog
+* Tue Sep 18 2007 Eric Sandeen <esandeen at redhat.com> 1.40.2-7
+- Fix blkid fat probe when there is a real MBR (#290951)
+
 * Tue Sep 18 2007 Oliver Falk <oliver at linux-kernel.at> 1.40.2-6
 - Add alpha to the header wrappers 
 




More information about the scm-commits mailing list