OBS User unknown 2007-04-12 15:16:50 +00:00 committed by Git OBS Bridge
parent 10403723a8
commit f3aa3f9ec0
3 changed files with 90 additions and 7 deletions

View File

@ -1,12 +1,86 @@
Index: e2fsprogs-1.39+1.40_WIP_20061114/lib/blkid/probe.c
Index: e2fsprogs-1.39+1.40_WIP_20061114+PATCH20070329/lib/blkid/probe.c
===================================================================
--- e2fsprogs-1.39+1.40_WIP_20061114.orig/lib/blkid/probe.c
+++ e2fsprogs-1.39+1.40_WIP_20061114/lib/blkid/probe.c
@@ -783,6 +783,7 @@ static struct blkid_magic type_array[] =
--- e2fsprogs-1.39+1.40_WIP_20061114+PATCH20070329.orig/lib/blkid/probe.c
+++ e2fsprogs-1.39+1.40_WIP_20061114+PATCH20070329/lib/blkid/probe.c
@@ -725,6 +725,19 @@ static int probe_gfs2(struct blkid_probe
return 1;
}
+static int probe_hfsplus(struct blkid_probe *probe,
+ struct blkid_magic *id __BLKID_ATTR((unused)),
+ unsigned char *buf)
+{
+ struct hfs_mdb *sbd = (struct hfs_mdb *)buf;
+
+ /* Check for a HFS+ volume embedded in a HFS volume */
+ if (memcmp(sbd->embed_sig, "H+", 2) == 0)
+ return 0;
+
+ return 1;
+}
+
/*
* BLKID_BLK_OFFS is at least as large as the highest bim_kboff defined
* in the type_array table below + bim_kbalign.
@@ -782,6 +795,8 @@ static struct blkid_magic type_array[] =
{ "iso9660", 32, 1, 5, "CD001", probe_iso9660 },
{ "iso9660", 32, 9, 5, "CDROM", probe_iso9660 },
{ "jfs", 32, 0, 4, "JFS1", probe_jfs },
{ "hfs", 1, 0, 2, "BD", 0 },
+ { "hfsplus", 1, 0, 2, "BD", probe_hfsplus },
+ { "hfsplus", 1, 0, 2, "H+", 0 },
{ "hfs", 1, 0, 2, "BD", 0 },
{ "ufs", 8, 0x55c, 4, "T\031\001\000", 0 },
{ "hpfs", 8, 0, 4, "I\350\225\371", 0 },
{ "sysv", 0, 0x3f8, 4, "\020~\030\375", 0 },
Index: e2fsprogs-1.39+1.40_WIP_20061114+PATCH20070329/lib/blkid/probe.h
===================================================================
--- e2fsprogs-1.39+1.40_WIP_20061114+PATCH20070329.orig/lib/blkid/probe.h
+++ e2fsprogs-1.39+1.40_WIP_20061114+PATCH20070329/lib/blkid/probe.h
@@ -395,6 +395,48 @@ struct gfs2_sb {
/* In gfs1, quota and license dinodes followed */
};
+/* HFS / HFS+ */
+struct hfs_finder_info {
+ __u32 boot_folder;
+ __u32 start_app;
+ __u32 open_folder;
+ __u32 os9_folder;
+ __u32 reserved;
+ __u32 osx_folder;
+ __u8 id[8];
+} __attribute__((packed));
+
+struct hfs_mdb {
+ __u8 signature[2];
+ __u32 cr_date;
+ __u32 ls_Mod;
+ __u16 atrb;
+ __u16 nm_fls;
+ __u16 vbm_st;
+ __u16 alloc_ptr;
+ __u16 nm_al_blks;
+ __u32 al_blk_size;
+ __u32 clp_size;
+ __u16 al_bl_st;
+ __u32 nxt_cnid;
+ __u16 free_bks;
+ __u8 label_len;
+ __u8 label[27];
+ __u32 vol_bkup;
+ __u16 vol_seq_num;
+ __u32 wr_cnt;
+ __u32 xt_clump_size;
+ __u32 ct_clump_size;
+ __u16 num_root_dirs;
+ __u32 file_count;
+ __u32 dir_count;
+ struct hfs_finder_info finder_info;
+ __u8 embed_sig[2];
+ __u16 embed_startblock;
+ __u16 embed_blockcount;
+} __attribute__((packed));
+
+
/*
* Byte swap functions
*/

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Apr 11 13:11:58 CEST 2007 - mkoenig@suse.de
- blkid: fix hfsplus probing to detect HFS+ volumes embedded
in a HFS volume
-------------------------------------------------------------------
Wed Apr 4 12:44:43 CEST 2007 - mkoenig@suse.de

View File

@ -20,7 +20,7 @@ Obsoletes: ext2fs
PreReq: %install_info_prereq
Autoreqprov: on
Version: 1.39+1.40_WIP_20061114+PATCH20070329
Release: 3
Release: 5
Summary: Utilities for the Second Extended File System
URL: http://e2fsprogs.sourceforge.net
Source: %{name}-%{version}.tar.bz2
@ -247,6 +247,9 @@ rm -rf $RPM_BUILD_ROOT
%postun -n libcom_err -p /sbin/ldconfig
%changelog
* Wed Apr 11 2007 - mkoenig@suse.de
- blkid: fix hfsplus probing to detect HFS+ volumes embedded
in a HFS volume
* Wed Apr 04 2007 - mkoenig@suse.de
- add Supplements line [FATE#301966]
* Fri Mar 30 2007 - mkoenig@suse.de