[arch-commits] Commit in gpart/trunk (6 files)

Giovanni Scafora giovanni at archlinux.org
Mon Nov 28 20:13:50 UTC 2011


    Date: Monday, November 28, 2011 @ 15:13:49
  Author: giovanni
Revision: 143744

upgpkg: gpart 0.1h-5

rebuild

Added:
  gpart/trunk/gpart-0.1h-l64seek.patch
  gpart/trunk/gpart-0.1h-openmode.patch
  gpart/trunk/gpart-0.1h-reiserfs-3.6.patch
Modified:
  gpart/trunk/PKGBUILD
Deleted:
  gpart/trunk/gpart-0.1h-PIC.patch
  gpart/trunk/gpart-0.1h-no-_syscall.patch

-------------------------------+
 PKGBUILD                      |   38 +--
 gpart-0.1h-PIC.patch          |   20 -
 gpart-0.1h-l64seek.patch      |   71 ++++++
 gpart-0.1h-no-_syscall.patch  |   15 -
 gpart-0.1h-openmode.patch     |   11 
 gpart-0.1h-reiserfs-3.6.patch |  443 ++++++++++++++++++++++++++++++++++++++++
 6 files changed, 547 insertions(+), 51 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-11-28 19:26:51 UTC (rev 143743)
+++ PKGBUILD	2011-11-28 20:13:49 UTC (rev 143744)
@@ -5,24 +5,26 @@
 
 pkgname=gpart
 pkgver=0.1h
-pkgrel=4
-pkgdesc="A program for recovering corrupt partition tables"
+pkgrel=5
+pkgdesc="Partition table rescue/guessing tool"
 arch=('i686' 'x86_64')
 url="http://www.stud.uni-hannover.de/user/76201/gpart/"
 license=('GPL')
 depends=('glibc')
-source=(http://www.sfr-fresh.com/linux/misc/${pkgname}-${pkgver}.tar.gz 
-                gpart-0.1h-errno.patch 
-                gpart-0.1h-vfat.patch 
-                gpart-0.1h-ntfs.patch 
-                gpart-0.1h-PIC.patch 
-                gpart-0.1h-no-_syscall.patch)
-md5sums=('ee3a2d2dde70bcf404eb354b3d1ee6d4' 
-                       '81eee5d9985df9bf9c23624e46cf945f'
-                       'ae6d86b0268618d34e618824dcd82754' 
-                       '8161c02116ee4575906587eb09e35bde'
-                       'd3f5b05d12816375f5dcd9a251f72f61' 
-                       'f811c6e132b2c0cd2d9cb0fd4933063a')
+source=("http://www.sfr-fresh.com/linux/misc/${pkgname}-${pkgver}.tar.gz"
+        'gpart-0.1h-errno.patch' 
+        'gpart-0.1h-vfat.patch' 
+        'gpart-0.1h-ntfs.patch'
+        'gpart-0.1h-reiserfs-3.6.patch'
+        'gpart-0.1h-l64seek.patch'
+        'gpart-0.1h-openmode.patch')
+md5sums=('ee3a2d2dde70bcf404eb354b3d1ee6d4'
+         '81eee5d9985df9bf9c23624e46cf945f'
+         'ae6d86b0268618d34e618824dcd82754'
+         '8161c02116ee4575906587eb09e35bde'
+         '5da425c355740cbf06286755c902b996'
+         '9cd7f91c321a83cc1aa202744d1c7cd2'
+         'c982a01385e99b86b32de536c1fbecfb')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
@@ -30,9 +32,13 @@
   patch -Np1 -i ${srcdir}/gpart-0.1h-errno.patch
   patch -Np1 -i ${srcdir}/gpart-0.1h-vfat.patch
   patch -Np1 -i ${srcdir}/gpart-0.1h-ntfs.patch
-  patch -Np1 -i ${srcdir}/gpart-0.1h-PIC.patch
-  patch -Np0 -i ${srcdir}/gpart-0.1h-no-_syscall.patch
+  patch -Np2 -i ${srcdir}/gpart-0.1h-reiserfs-3.6.patch
+  patch -Np1 -i ${srcdir}/gpart-0.1h-l64seek.patch
+  patch -Np1 -i ${srcdir}/gpart-0.1h-openmode.patch
 
+  sed -i -e "/^CFLAGS/s: -O2 : ${CFLAGS} :" make.defs
+  sed -i -e "/^LDFLAGS/s:=:=${LDFLAGS} :" make.defs
+
   make
 }
 

Deleted: gpart-0.1h-PIC.patch
===================================================================
--- gpart-0.1h-PIC.patch	2011-11-28 19:26:51 UTC (rev 143743)
+++ gpart-0.1h-PIC.patch	2011-11-28 20:13:49 UTC (rev 143744)
@@ -1,20 +0,0 @@
---- gpart-0.1h/src/l64seek.c
-+++ gpart-0.1h/src/l64seek.c
-@@ -26,7 +26,7 @@
- } ostck[OSTACKLEN];
- static int		osptr = -1;
- 
--#if defined(__linux__) && defined(__i386__)
-+#if defined(__linux__) && defined(__i386__) && ! defined(__PIC__)
- _syscall5(int,_llseek,uint,fd,ulong,hi,ulong,lo,loff_t *,res,uint,wh)
- #endif
- 
-@@ -36,7 +36,7 @@
- {
- 	off64_t		ret = (off64_t)-1;
- 
--#if defined(__linux__) && defined(__i386__)
-+#if defined(__linux__) && defined(__i386__) && ! defined(__PIC__)
- 	int		iret;
- 	unsigned long	ohi, olo;
- 

Added: gpart-0.1h-l64seek.patch
===================================================================
--- gpart-0.1h-l64seek.patch	                        (rev 0)
+++ gpart-0.1h-l64seek.patch	2011-11-28 20:13:49 UTC (rev 143744)
@@ -0,0 +1,71 @@
+--- gpart-0.1h.orig/src/l64seek.c
++++ gpart-0.1h/src/l64seek.c
+@@ -25,30 +25,11 @@
+ } ostck[OSTACKLEN];
+ static int		osptr = -1;
+ 
+-#if defined(__linux__) && defined(__i386__)
+-_syscall5(int,_llseek,uint,fd,ulong,hi,ulong,lo,loff_t *,res,uint,wh)
+-#endif
+-
+-
+-
+ off64_t l64seek(int fd,off64_t offset,int whence)
+ {
+ 	off64_t		ret = (off64_t)-1;
+ 
+-#if defined(__linux__) && defined(__i386__)
+-	int		iret;
+-	unsigned long	ohi, olo;
+-
+-	ohi = (unsigned long)((offset >> 32) & 0xFFFFFFFF);
+-	olo = (unsigned long)(offset & 0xFFFFFFFF);
+-	iret = _llseek(fd,ohi,olo,&ret,whence);
+-	if (iret == -1)
+-		ret = (off64_t)-1;
+-#endif
+-
+-#if defined(__FreeBSD__) || (defined(__linux__) && defined(__alpha__))
+ 	ret = lseek(fd,offset,whence);
+-#endif
+ 
+ 	return (ret);
+ }
+--- gpart-0.1h.orig/src/l64seek.h
++++ gpart-0.1h/src/l64seek.h
+@@ -17,6 +17,8 @@
+ #ifndef _L64SEEK_H
+ #define _L64SEEK_H
+ 
++#include <sys/stat.h>
++#include <sys/types.h>
+ #include <unistd.h>
+ 
+ /*
+@@ -25,19 +27,7 @@
+  * offsets.
+  */
+ 
+-
+-#if defined(__linux__)
+-#	include <linux/unistd.h>
+-#	include <sys/types.h>
+-	typedef int64_t off64_t;
+-#endif
+-
+-
+-#if defined(__FreeBSD__)
+-	typedef off_t off64_t;
+-#endif
+-
+-
++typedef loff_t off64_t;
+ typedef off64_t s64_t;
+ 
+ off64_t l64seek(int fd, off64_t offset, int whence);
+@@ -45,5 +35,4 @@
+ int l64opush(int);
+ s64_t l64opop(int);
+ 
+-
+ #endif

Deleted: gpart-0.1h-no-_syscall.patch
===================================================================
--- gpart-0.1h-no-_syscall.patch	2011-11-28 19:26:51 UTC (rev 143743)
+++ gpart-0.1h-no-_syscall.patch	2011-11-28 20:13:49 UTC (rev 143744)
@@ -1,15 +0,0 @@
-use syscall() rather than _syscall#()
-
-http://bugs.gentoo.org/163800
-
---- src/l64seek.c
-+++ src/l64seek.c
-@@ -27,7 +27,7 @@
- static int		osptr = -1;
- 
- #if defined(__linux__) && defined(__i386__) && ! defined(__PIC__)
--_syscall5(int,_llseek,uint,fd,ulong,hi,ulong,lo,loff_t *,res,uint,wh)
-+#define _llseek(fd,hi,lo,res,wh) syscall(__NR__llseek,fd,hi,lo,res,wh)
- #endif
- 
- 

Added: gpart-0.1h-openmode.patch
===================================================================
--- gpart-0.1h-openmode.patch	                        (rev 0)
+++ gpart-0.1h-openmode.patch	2011-11-28 20:13:49 UTC (rev 143744)
@@ -0,0 +1,11 @@
+--- gpart.orig/src/gpart.c	2008-10-19 15:06:06.000000000 +0000
++++ gpart/src/gpart.c	2008-11-25 07:34:47.000000000 +0000
+@@ -1221,7 +1221,7 @@ static int make_mbr_backup(disk_desc *d,
+ {
+ 	int		fd, ret = 0;
+ 
+-	if ((fd = open(bfile,O_WRONLY|O_CREAT)) < 0)
++	if ((fd = open(bfile,O_WRONLY|O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) < 0)
+ 		return (ret);
+ 
+ 	if (write(fd,d->d_pt.t_boot,512) == 512)

Added: gpart-0.1h-reiserfs-3.6.patch
===================================================================
--- gpart-0.1h-reiserfs-3.6.patch	                        (rev 0)
+++ gpart-0.1h-reiserfs-3.6.patch	2011-11-28 20:13:49 UTC (rev 143744)
@@ -0,0 +1,443 @@
+diff -rupN ./gpart-0.1h.orig/README ./gpart-0.1h/README
+--- ./gpart-0.1h.orig/README	Wed Feb  7 20:58:12 2001
++++ ./gpart-0.1h/README	Fri Jan 10 16:29:43 2003
+@@ -24,25 +24,25 @@
+ 
+  - Currently recognized partitions/filesystems types ---------------------
+ 
+-   Modname Typ   Description
+-   fat     0x01  "Primary DOS with 12 bit FAT"
+-           0x04  "Primary DOS with 16 bit FAT (<= 32MB)"
+-           0x06  "Primary 'big' DOS (> 32MB)"
+-           0x0B  "DOS or Windows 95 with 32 bit FAT"
+-           0x0C  "DOS or Windows 95 with 32 bit FAT, LBA"
+-   ntfs    0x07  "OS/2 HPFS, NTFS, QNX or Advanced UNIX"
+-   hpfs    0x07  "OS/2 HPFS, NTFS, QNX or Advanced UNIX"
+-   ext2    0x83  "Linux ext2 filesystem"
+-   lswap   0x82  "Linux swap"
+-   bsddl   0xA5  "FreeBSD/NetBSD/386BSD"
+-   s86dl   0x82  "Solaris/x86 disklabel"
+-   minix   0x80  "Minix V1"
+-           0x81  "Minix V2"
+-   rfs     0x83  "Reiser filesystem"
+-   hmlvm   0xFE  "Linux LVM physical volumes"
+-   qnx4    0x4F  "QNX 4.x"
+-   beos    0xEB  "BeOS fs"
+-   xfs     0x83  "SGI XFS filesystem"
++   Modname  Typ   Description
++   fat      0x01  "Primary DOS with 12 bit FAT"
++    	    0x04  "Primary DOS with 16 bit FAT (<= 32MB)"
++            0x06  "Primary 'big' DOS (> 32MB)"
++            0x0B  "DOS or Windows 95 with 32 bit FAT"
++            0x0C  "DOS or Windows 95 with 32 bit FAT, LBA"
++   ntfs     0x07  "OS/2 HPFS, NTFS, QNX or Advanced UNIX"
++   hpfs     0x07  "OS/2 HPFS, NTFS, QNX or Advanced UNIX"
++   ext2     0x83  "Linux ext2 filesystem"
++   lswap    0x82  "Linux swap"
++   bsddl    0xA5  "FreeBSD/NetBSD/386BSD"
++   s86dl    0x82  "Solaris/x86 disklabel"
++   minix    0x80  "Minix V1"
++            0x81  "Minix V2"
++   reiserfs 0x83  "ReiserFS filesystem"
++   hmlvm    0xFE  "Linux LVM physical volumes"
++   qnx4     0x4F  "QNX 4.x"
++   beos     0xEB  "BeOS fs"
++   xfs      0x83  "SGI XFS filesystem"
+ 
+ 
+ 
+diff -rupN ./gpart-0.1h.orig/man/gpart.man ./gpart-0.1h/man/gpart.man
+--- ./gpart-0.1h.orig/man/gpart.man	Wed Feb  7 20:54:18 2001
++++ ./gpart-0.1h/man/gpart.man	Fri Jan 10 16:31:52 2003
+@@ -63,8 +63,8 @@ MS Windows NT/2000 filesystem.
+ .I qnx4
+ QNX 4.x filesystem.
+ .TP
+-.I rfs
+-The Reiser filesystem (version 3.5.X, X > 11).
++.I reiserfs
++The Reiser filesystem (version 3.5.X, X > 11, 3.6.X).
+ .TP
+ .I s86dl
+ Sun Solaris on Intel platforms uses a sub-partitioning
+diff -rupN ./gpart-0.1h.orig/src/Makefile ./gpart-0.1h/src/Makefile
+--- ./gpart-0.1h.orig/src/Makefile	Tue Jan 30 20:01:08 2001
++++ ./gpart-0.1h/src/Makefile	Fri Jan 10 16:32:24 2003
+@@ -19,7 +19,7 @@ CFLAGS+=-DGPART_LANG=\'$(GPART_LANG)\'
+ endif
+ 
+ 
+-mod=ext2 lswap fat bsddl ntfs hpfs s86dl minix rfs hmlvm qnx4 beos xfs
++mod=ext2 lswap fat bsddl ntfs hpfs s86dl minix reiserfs hmlvm qnx4 beos xfs
+ modobj=$(foreach m,$(mod),gm_$(m).o)
+ obj=gpart.o gmodules.o disku.o l64seek.o $(modobj)
+ src=$(obj:.o=.c)
+diff -rupN ./gpart-0.1h.orig/src/gm_reiserfs.c ./gpart-0.1h/src/gm_reiserfs.c
+--- ./gpart-0.1h.orig/src/gm_reiserfs.c	Thu Jan  1 03:00:00 1970
++++ ./gpart-0.1h/src/gm_reiserfs.c	Fri Jan 10 17:25:30 2003
+@@ -0,0 +1,91 @@
++/*      
++ * gm_reiserfs.c -- gpart ReiserFS guessing module
++ *
++ * gpart (c) 1999-2001 Michail Brzitwa <mb at ichabod.han.de>
++ * Guess PC-type hard disk partitions.
++ *
++ * gpart is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published
++ * by the Free Software Foundation; either version 2, or (at your
++ * option) any later version.
++ *
++ * Created:   21.01.1999 <mb at ichabod.han.de>
++ * Modified:  26.12.2000 Francis Devereux <francis at devereux.tc>
++ *            Added reiserfs 3.5.28 support.
++ * Modified:  10.01.2003 Yury Umanets <umka at namesys.com>
++ *            Added reiserfs 3.6.x support.
++ *
++ */
++
++#include <string.h>
++#include <errno.h>
++#include "gpart.h"
++#include "gm_reiserfs.h"
++
++static const char	rcsid[] = "$Id: gm_reiserfs.c,v 1.5 2003/01/10 16:38:08 mb Exp mb $";
++
++
++int reiserfs_init(disk_desc *d,g_module *m)
++{
++	if ((d == 0) || (m == 0))
++		return (0);
++
++	m->m_desc = "ReiserFS filesystem";
++	return (REISERFS_FIRST_BLOCK * 1024 + SB_V35_SIZE);
++}
++
++
++
++int reiserfs_term(disk_desc *d)
++{
++	return (1);
++}
++
++
++
++int reiserfs_gfun(disk_desc *d,g_module *m)
++{
++	struct reiserfs_super_block_v35	*sb;
++	dos_part_entry			*pt = &m->m_part;
++	s64_t				size;
++
++	m->m_guess = GM_NO;
++	sb = (struct reiserfs_super_blockv35 *)(d->d_sbuf + REISERFS_FIRST_BLOCK * 1024);
++	if (strncmp(sb->s_magic,REISERFS_SUPER_V35_MAGIC,12) == 0 || 
++	    strncmp(sb->s_magic,REISERFS_SUPER_V36_MAGIC,12) == 0)
++	{
++		/*
++		 * sanity checks.
++		 */
++
++		if (sb->s_block_count < sb->s_free_blocks)
++			return (1);
++
++		if (sb->s_block_count < REISERFS_MIN_BLOCK_AMOUNT)
++			return (1);
++
++		if ((sb->s_state != REISERFS_VALID_FS) &&
++		    (sb->s_state != REISERFS_ERROR_FS))
++			return (1);
++
++		if (sb->s_oid_maxsize % 2) /* must be even */
++			return (1);
++
++		if (sb->s_oid_maxsize < sb->s_oid_cursize)
++			return (1);
++
++		if ((sb->s_blocksize != 4096) && (sb->s_blocksize != 8192))
++			return (1);
++
++		/*
++		 * ok.
++		 */
++
++		m->m_guess = GM_YES;
++		pt->p_start = d->d_nsb;
++		size = sb->s_block_count; size *= sb->s_blocksize; size /= d->d_ssize;
++		pt->p_size = (unsigned long)size;
++		pt->p_typ = 0x83;
++	}
++	return (1);
++}
+diff -rupN ./gpart-0.1h.orig/src/gm_reiserfs.h ./gpart-0.1h/src/gm_reiserfs.h
+--- ./gpart-0.1h.orig/src/gm_reiserfs.h	Thu Jan  1 03:00:00 1970
++++ ./gpart-0.1h/src/gm_reiserfs.h	Fri Jan 10 17:25:55 2003
+@@ -0,0 +1,82 @@
++/*
++ * gm_reiserfs.h -- gpart ReiserFS guessing module header
++ * 
++ * gpart (c) 1999-2001 Michail Brzitwa <mb at ichabod.han.de>
++ * Guess PC-type hard disk partitions.
++ *
++ * gpart is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published
++ * by the Free Software Foundation; either version 2, or (at your
++ * option) any later version.
++ *
++ * Created:   21.01.1999 <mb at ichabod.han.de>
++ * Modified:  26.12.2000 Francis Devereux <francis at devereux.tc>
++ *            Update support reiserfs version 3.5.28
++ * Modified:  10.01.2003 Yury Umanets <umka at namesys.com>
++ *            Added reiserfs 3.6.x support.
++ *
++ */
++
++#ifndef _GM_reiserfs_H
++#define _GM_reiserfs_H
++
++/* imported from asm/types.h */
++typedef __signed__ char __s8;
++typedef unsigned char __u8;
++
++typedef __signed__ short __s16;
++typedef unsigned short __u16;
++
++typedef __signed__ int __s32;
++typedef unsigned int __u32;
++
++/*
++ * taken from ReiserFS v3.5.28, v3.6.x. Reiserfs Copyright 1996-2000 Hans Reiser
++ */
++
++#define REISERFS_SUPER_V35_MAGIC	"ReIsErFs"
++#define REISERFS_SUPER_V36_MAGIC	"ReIsEr2Fs"
++
++#define REISERFS_FIRST_BLOCK		64
++#define REISERFS_VALID_FS		1
++#define REISERFS_ERROR_FS		2
++#define REISERFS_MIN_BLOCK_AMOUNT	100
++
++struct reiserfs_super_block_v35
++{
++	__u32 s_block_count;		/* blocks count         */
++	__u32 s_free_blocks;		/* free blocks count    */
++	__u32 s_root_block;		/* root block number    */
++	__u32 s_journal_block;		/* journal block number    */
++	__u32 s_journal_dev;		/* journal device number  */
++	__u32 s_orig_journal_size;	/* size of the journal on FS creation.  used to make sure they don't overflow it */
++	__u32 s_journal_trans_max;	/* max number of blocks in a transaction.  */
++	__u32 s_journal_block_count;	/* total size of the journal. can change over time  */
++	__u32 s_journal_max_batch;	/* max number of blocks to batch into a trans */
++	__u32 s_journal_max_commit_age;	/* in seconds, how old can an async commit be */
++	__u32 s_journal_max_trans_age;	/* in seconds, how old can a transaction be */
++	__u16 s_blocksize;		/* block size           */
++	__u16 s_oid_maxsize;		/* max size of object id array, see get_objectid() commentary  */
++	__u16 s_oid_cursize;		/* current size of object id array */
++	__u16 s_state;			/* valid or error       */
++	char s_magic[12];		/* reiserfs magic string indicates that file system is reiserfs */
++	__u32 s_hash_function_code;	/* indicate, what hash fuction is being use to sort names in a directory*/
++	__u16 s_tree_height;		/* height of disk tree */
++	__u16 s_bmap_nr;		/* amount of bitmap blocks needed to address each block of file system */
++	__u16 s_reserved;
++};
++
++#define SB_V35_SIZE (sizeof(struct reiserfs_super_block_v35))
++
++struct reiserfs_super_block_v36 {
++	struct reiserfs_super_block_v35 s_v35;
++	__u32 s_inode_generation; 
++	__u32 s_flags;
++	char s_uuid[16];
++	char s_label[16];
++	char s_unused[88];
++};
++
++#define SB_V36_SIZE (sizeof(struct reiserfs_super_block_v36))
++
++#endif /* _GM_REISERFS_H */
+diff -rupN ./gpart-0.1h.orig/src/gm_rfs.c ./gpart-0.1h/src/gm_rfs.c
+--- ./gpart-0.1h.orig/src/gm_rfs.c	Wed Feb  7 21:08:08 2001
++++ ./gpart-0.1h/src/gm_rfs.c	Thu Jan  1 03:00:00 1970
+@@ -1,88 +0,0 @@
+-/*      
+- * gm_rfs.c -- gpart ReiserFS guessing module
+- *
+- * gpart (c) 1999-2001 Michail Brzitwa <mb at ichabod.han.de>
+- * Guess PC-type hard disk partitions.
+- *
+- * gpart is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published
+- * by the Free Software Foundation; either version 2, or (at your
+- * option) any later version.
+- *
+- * Created:   21.01.1999 <mb at ichabod.han.de>
+- * Modified:  26.12.2000 Francis Devereux <francis at devereux.tc>
+- *            Added reiserfs 3.5.28 support.
+- *
+- */
+-
+-#include <string.h>
+-#include <errno.h>
+-#include "gpart.h"
+-#include "gm_rfs.h"
+-
+-static const char	rcsid[] = "$Id: gm_rfs.c,v 1.5 2001/02/07 18:08:08 mb Exp mb $";
+-
+-
+-int rfs_init(disk_desc *d,g_module *m)
+-{
+-	if ((d == 0) || (m == 0))
+-		return (0);
+-
+-	m->m_desc = "Reiser filesystem";
+-	return (REISERFS_FIRST_BLOCK * 1024 + SB_SIZE);
+-}
+-
+-
+-
+-int rfs_term(disk_desc *d)
+-{
+-	return (1);
+-}
+-
+-
+-
+-int rfs_gfun(disk_desc *d,g_module *m)
+-{
+-	struct reiserfs_super_block	*sb;
+-	dos_part_entry			*pt = &m->m_part;
+-	s64_t				size;
+-
+-	m->m_guess = GM_NO;
+-	sb = (struct reiserfs_super_block *)(d->d_sbuf + REISERFS_FIRST_BLOCK * 1024);
+-	if (strncmp(sb->s_magic,REISERFS_SUPER_MAGIC,12) == 0)
+-	{
+-		/*
+-		 * sanity checks.
+-		 */
+-
+-		if (sb->s_block_count < sb->s_free_blocks)
+-			return (1);
+-
+-		if (sb->s_block_count < REISERFS_MIN_BLOCK_AMOUNT)
+-			return (1);
+-
+-		if ((sb->s_state != REISERFS_VALID_FS) &&
+-		    (sb->s_state != REISERFS_ERROR_FS))
+-			return (1);
+-
+-		if (sb->s_oid_maxsize % 2) /* must be even */
+-			return (1);
+-
+-		if (sb->s_oid_maxsize < sb->s_oid_cursize)
+-			return (1);
+-
+-		if ((sb->s_blocksize != 4096) && (sb->s_blocksize != 8192))
+-			return (1);
+-
+-		/*
+-		 * ok.
+-		 */
+-
+-		m->m_guess = GM_YES;
+-		pt->p_start = d->d_nsb;
+-		size = sb->s_block_count; size *= sb->s_blocksize; size /= d->d_ssize;
+-		pt->p_size = (unsigned long)size;
+-		pt->p_typ = 0x83;
+-	}
+-	return (1);
+-}
+diff -rupN ./gpart-0.1h.orig/src/gm_rfs.h ./gpart-0.1h/src/gm_rfs.h
+--- ./gpart-0.1h.orig/src/gm_rfs.h	Mon Jan 29 16:34:35 2001
++++ ./gpart-0.1h/src/gm_rfs.h	Thu Jan  1 03:00:00 1970
+@@ -1,68 +0,0 @@
+-/*
+- * gm_rfs.h -- gpart ReiserFS guessing module header
+- * 
+- * gpart (c) 1999-2001 Michail Brzitwa <mb at ichabod.han.de>
+- * Guess PC-type hard disk partitions.
+- *
+- * gpart is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published
+- * by the Free Software Foundation; either version 2, or (at your
+- * option) any later version.
+- *
+- * Created:   21.01.1999 <mb at ichabod.han.de>
+- * Modified:  26.12.2000 Francis Devereux <francis at devereux.tc>
+- *            Update support reiserfs version 3.5.28
+- *
+- */
+-
+-#ifndef _GM_RFS_H
+-#define _GM_RFS_H
+-
+-/* imported from asm/types.h */
+-typedef __signed__ char __s8;
+-typedef unsigned char __u8;
+-
+-typedef __signed__ short __s16;
+-typedef unsigned short __u16;
+-
+-typedef __signed__ int __s32;
+-typedef unsigned int __u32;
+-
+-/*
+- * taken from ReiserFS v3.5.28. Reiserfs Copyright 1996-2000 Hans Reiser
+- */
+-
+-#define REISERFS_SUPER_MAGIC		"ReIsErFs"
+-#define REISERFS_FIRST_BLOCK		64
+-#define REISERFS_VALID_FS		1
+-#define REISERFS_ERROR_FS		2
+-#define REISERFS_MIN_BLOCK_AMOUNT	100
+-
+-struct reiserfs_super_block
+-{
+-	__u32 s_block_count;		/* blocks count         */
+-	__u32 s_free_blocks;		/* free blocks count    */
+-	__u32 s_root_block;		/* root block number    */
+-	__u32 s_journal_block;		/* journal block number    */
+-	__u32 s_journal_dev;		/* journal device number  */
+-	__u32 s_orig_journal_size;	/* size of the journal on FS creation.  used to make sure they don't overflow it */
+-	__u32 s_journal_trans_max;	/* max number of blocks in a transaction.  */
+-	__u32 s_journal_block_count;	/* total size of the journal. can change over time  */
+-	__u32 s_journal_max_batch;	/* max number of blocks to batch into a trans */
+-	__u32 s_journal_max_commit_age;	/* in seconds, how old can an async commit be */
+-	__u32 s_journal_max_trans_age;	/* in seconds, how old can a transaction be */
+-	__u16 s_blocksize;		/* block size           */
+-	__u16 s_oid_maxsize;		/* max size of object id array, see get_objectid() commentary  */
+-	__u16 s_oid_cursize;		/* current size of object id array */
+-	__u16 s_state;			/* valid or error       */
+-	char s_magic[12];		/* reiserfs magic string indicates that file system is reiserfs */
+-	__u32 s_hash_function_code;	/* indicate, what hash fuction is being use to sort names in a directory*/
+-	__u16 s_tree_height;		/* height of disk tree */
+-	__u16 s_bmap_nr;		/* amount of bitmap blocks needed to address each block of file system */
+-	__u16 s_reserved;
+-};
+-
+-#define SB_SIZE (sizeof(struct reiserfs_super_block))
+-
+-
+-#endif /* _GM_RFS_H */
+diff -rupN ./gpart-0.1h.orig/src/gmodules.c ./gpart-0.1h/src/gmodules.c
+--- ./gpart-0.1h.orig/src/gmodules.c	Tue Jan 30 20:01:00 2001
++++ ./gpart-0.1h/src/gmodules.c	Fri Jan 10 16:31:28 2003
+@@ -154,7 +154,7 @@ void g_mod_addinternals()
+ 	GMODINS(bsddl);
+ 	GMODINS(lswap);
+ 	GMODINS(qnx4);
+-	GMODINS(rfs);
++	GMODINS(reiserfs);
+ 	GMODINS(ntfs);
+ 	GMODINS(hpfs);
+ 	GMODINS(minix);
+diff -rupN ./gpart-0.1h.orig/src/gmodules.h ./gpart-0.1h/src/gmodules.h
+--- ./gpart-0.1h.orig/src/gmodules.h	Tue Jan 30 20:00:47 2001
++++ ./gpart-0.1h/src/gmodules.h	Fri Jan 10 16:31:23 2003
+@@ -63,7 +63,7 @@ g_module *g_mod_setweight(char *,float);
+ 
+ GMODDECL(bsddl); GMODDECL(ext2); GMODDECL(fat);
+ GMODDECL(hpfs); GMODDECL(lswap); GMODDECL(ntfs);
+-GMODDECL(s86dl); GMODDECL(minix); GMODDECL(rfs);
++GMODDECL(s86dl); GMODDECL(minix); GMODDECL(reiserfs);
+ GMODDECL(hmlvm); GMODDECL(qnx4); GMODDECL(beos);
+ GMODDECL(xfs);
+ 




More information about the arch-commits mailing list