* Wed Feb 04 2009 Eric Sandeen <sandeen@redhat.com> 3.0.0-1
- New upstream release
This commit is contained in:
parent
bb692dfd57
commit
98d672c680
@ -1 +1 @@
|
||||
xfsprogs_2.10.2-1.tar.gz
|
||||
xfsprogs-3.0.0.tar.gz
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
7d3d917b41dae79f9bc9b6ed24f45aa0 xfsprogs_2.10.2-1.tar.gz
|
||||
ec734f935ec87ebb8be890d29380a3e6 xfsprogs-3.0.0.tar.gz
|
||||
|
@ -1,120 +0,0 @@
|
||||
Recognize gfs & gfs2 disk formats.
|
||||
|
||||
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
|
||||
---
|
||||
|
||||
Index: xfs-cmds-build/xfsprogs/libdisk/fstype.c
|
||||
===================================================================
|
||||
--- xfs-cmds-build.orig/xfsprogs/libdisk/fstype.c
|
||||
+++ xfs-cmds-build/xfsprogs/libdisk/fstype.c
|
||||
@@ -68,6 +68,7 @@ swapped(unsigned short a) {
|
||||
Added jfs - Christoph Hellwig
|
||||
Added sysv - Tim Launchbury
|
||||
Added udf - Bryce Nesbitt
|
||||
+ Added gfs/gfs2 - Eric Sandeen
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -192,6 +193,7 @@ fstype(const char *device) {
|
||||
struct hpfs_super_block hpfssb;
|
||||
struct adfs_super_block adfssb;
|
||||
struct sysv_super_block svsb;
|
||||
+ struct gfs2_sb gfs2sb;
|
||||
struct stat statbuf;
|
||||
|
||||
/* opening and reading an arbitrary unknown path can have
|
||||
@@ -382,6 +384,21 @@ fstype(const char *device) {
|
||||
}
|
||||
|
||||
if (!type) {
|
||||
+ /* block 64 */
|
||||
+ if (lseek(fd, GFS_SUPERBLOCK_OFFSET, SEEK_SET) != GFS_SUPERBLOCK_OFFSET
|
||||
+ || read(fd, (char *) &gfs2sb, sizeof(gfs2sb)) != sizeof(gfs2sb))
|
||||
+ goto io_error;
|
||||
+ if (gfsmagic(gfs2sb)) {
|
||||
+ if (gfsformat(gfs2sb) == GFS_FORMAT_FS &&
|
||||
+ gfsmultiformat(gfs2sb) == GFS_FORMAT_MULTI)
|
||||
+ type = "gfs";
|
||||
+ else if (gfsformat(gfs2sb) == GFS2_FORMAT_FS &&
|
||||
+ gfsmultiformat(gfs2sb) == GFS2_FORMAT_MULTI)
|
||||
+ type = "gfs2";
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!type) {
|
||||
/* perhaps the user tries to mount the swap space
|
||||
on a new disk; warn her before she does mkfs on it */
|
||||
int pagesize = getpagesize();
|
||||
Index: xfs-cmds-build/xfsprogs/libdisk/fstype.h
|
||||
===================================================================
|
||||
--- xfs-cmds-build.orig/xfsprogs/libdisk/fstype.h
|
||||
+++ xfs-cmds-build/xfsprogs/libdisk/fstype.h
|
||||
@@ -242,6 +242,56 @@ struct ocfs_volume_label {
|
||||
#define ocfslabellen(o) assemble2le(o.label_len)
|
||||
#define OCFS_MAGIC "OracleCFS"
|
||||
|
||||
+/* Common gfs/gfs2 constants: */
|
||||
+#define GFS_MAGIC 0x01161970
|
||||
+#define GFS_DEFAULT_BSIZE 4096
|
||||
+#define GFS_SUPERBLOCK_OFFSET (0x10 * GFS_DEFAULT_BSIZE)
|
||||
+#define GFS_LOCKNAME_LEN 64
|
||||
+
|
||||
+/* gfs1 constants: */
|
||||
+#define GFS_FORMAT_FS 1309
|
||||
+#define GFS_FORMAT_MULTI 1401
|
||||
+/* gfs2 constants: */
|
||||
+#define GFS2_FORMAT_FS 1801
|
||||
+#define GFS2_FORMAT_MULTI 1900
|
||||
+
|
||||
+struct gfs2_meta_header {
|
||||
+ char mh_magic[4];
|
||||
+ char mh_type[4];
|
||||
+ char __pad0[8]; /* Was generation number in gfs1 */
|
||||
+ char mh_format[4];
|
||||
+ char __pad1[4]; /* Was incarnation number in gfs1 */
|
||||
+};
|
||||
+
|
||||
+struct gfs2_inum {
|
||||
+ char no_formal_ino[8];
|
||||
+ char no_addr[8];
|
||||
+};
|
||||
+
|
||||
+struct gfs2_sb {
|
||||
+ struct gfs2_meta_header sb_header;
|
||||
+
|
||||
+ char sb_fs_format[4];
|
||||
+ char sb_multihost_format[4];
|
||||
+ char __pad0[4]; /* Was superblock flags in gfs1 */
|
||||
+
|
||||
+ char sb_bsize[4];
|
||||
+ char sb_bsize_shift[4];
|
||||
+ char __pad1[4]; /* Was journal segment size in gfs1 */
|
||||
+
|
||||
+ struct gfs2_inum sb_master_dir; /* Was jindex dinode in gfs1 */
|
||||
+ struct gfs2_inum __pad2; /* Was rindex dinode in gfs1 */
|
||||
+ struct gfs2_inum sb_root_dir;
|
||||
+
|
||||
+ char sb_lockproto[GFS_LOCKNAME_LEN];
|
||||
+ char sb_locktable[GFS_LOCKNAME_LEN];
|
||||
+ /* In gfs1, quota and license dinodes followed */
|
||||
+};
|
||||
+
|
||||
+#define gfsmagic(s) assemble4be(s.sb_header.mh_magic)
|
||||
+#define gfsformat(s) assemble4be(s.sb_fs_format)
|
||||
+#define gfsmultiformat(s) assemble4be(s.sb_multihost_format)
|
||||
+
|
||||
static inline int
|
||||
assemble2le(char *p) {
|
||||
return (p[0] | (p[1] << 8));
|
||||
@@ -251,3 +301,8 @@ static inline int
|
||||
assemble4le(char *p) {
|
||||
return (p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24));
|
||||
}
|
||||
+
|
||||
+static inline int
|
||||
+assemble4be(char *p) {
|
||||
+ return (p[3] | (p[2] << 8) | (p[1] << 16) | (p[0] << 24));
|
||||
+}
|
||||
|
||||
|
||||
|
@ -1,189 +0,0 @@
|
||||
|
||||
w parallel builds of the xfsprogs package
|
||||
|
||||
I got tired of waiting for xfsprogs to build
|
||||
serially...
|
||||
|
||||
On a 16p altix, make -j16 (excluding the configure
|
||||
phase) went from 2m16s to 15s.
|
||||
|
||||
I tossed this into an rpm and did a fedora scratch
|
||||
build on all arches, they all passed - some of them,
|
||||
at least, should have been doing parallel builds too.
|
||||
|
||||
So this has had reasonable testing.
|
||||
|
||||
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
|
||||
---
|
||||
|
||||
Index: xfs-cmds/xfsprogs/Makefile
|
||||
===================================================================
|
||||
--- xfs-cmds.orig/xfsprogs/Makefile
|
||||
+++ xfs-cmds/xfsprogs/Makefile
|
||||
@@ -15,24 +15,36 @@ LSRCFILES = configure configure.in Makep
|
||||
LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
|
||||
Logs/* built .census install.* install-dev.* *.gz
|
||||
|
||||
-SUBDIRS = include libxfs libxlog libxcmd libhandle libdisk \
|
||||
- copy db fsck growfs io logprint mkfs quota mdrestore repair rtcp \
|
||||
- m4 man doc po debian build
|
||||
+LIB_SUBDIRS = include libxfs libxlog libxcmd libhandle libdisk
|
||||
+TOOL_SUBDIRS = copy db fsck growfs io logprint mkfs quota \
|
||||
+ mdrestore repair rtcp m4 man doc po debian build
|
||||
|
||||
-default: $(CONFIGURE)
|
||||
+SUBDIRS = $(LIB_SUBDIRS) $(TOOL_SUBDIRS)
|
||||
+
|
||||
+default: include/builddefs include/platform_defs.h
|
||||
ifeq ($(HAVE_BUILDDEFS), no)
|
||||
$(MAKE) -C . $@
|
||||
else
|
||||
- $(SUBDIRS_MAKERULE)
|
||||
+ $(MAKE) $(SUBDIRS)
|
||||
endif
|
||||
|
||||
+# tool/lib dependencies
|
||||
+libxcmd: include
|
||||
+copy mdrestore: libxfs
|
||||
+db logprint: libxfs libxlog
|
||||
+growfs: libxfs libxcmd
|
||||
+io: libxcmd libhandle
|
||||
+mkfs: libxfs libdisk
|
||||
+quota: libxcmd
|
||||
+repair: libxfs libxlog
|
||||
+
|
||||
ifeq ($(HAVE_BUILDDEFS), yes)
|
||||
include $(BUILDRULES)
|
||||
else
|
||||
clean: # if configure hasn't run, nothing to clean
|
||||
endif
|
||||
|
||||
-$(CONFIGURE):
|
||||
+include/builddefs:
|
||||
autoconf
|
||||
./configure \
|
||||
--prefix=/ \
|
||||
@@ -48,16 +60,27 @@ $(CONFIGURE):
|
||||
$$LOCAL_CONFIGURE_OPTIONS
|
||||
touch .census
|
||||
|
||||
+include/platform_defs.h: include/builddefs
|
||||
+## Recover from the removal of $@
|
||||
+ @if test -f $@; then :; else \
|
||||
+ rm -f include/builddefs; \
|
||||
+ $(MAKE) $(AM_MAKEFLAGS) include/builddefs; \
|
||||
+ fi
|
||||
+
|
||||
aclocal.m4::
|
||||
aclocal --acdir=`pwd`/m4 --output=$@
|
||||
|
||||
-install: default
|
||||
- $(SUBDIRS_MAKERULE)
|
||||
+install: default $(addsuffix -install,$(SUBDIRS))
|
||||
$(INSTALL) -m 755 -d $(PKG_DOC_DIR)
|
||||
$(INSTALL) -m 644 README $(PKG_DOC_DIR)
|
||||
|
||||
-install-dev: default
|
||||
- $(SUBDIRS_MAKERULE)
|
||||
+install-dev: default $(addsuffix -install-dev,$(SUBDIRS))
|
||||
+
|
||||
+%-install:
|
||||
+ $(MAKE) -C $* install
|
||||
+
|
||||
+%-install-dev:
|
||||
+ $(MAKE) -C $* install-dev
|
||||
|
||||
realclean distclean: clean
|
||||
rm -f $(LDIRT) $(CONFIGURE)
|
||||
Index: xfs-cmds/xfsprogs/include/buildrules
|
||||
===================================================================
|
||||
--- xfs-cmds.orig/xfsprogs/include/buildrules
|
||||
+++ xfs-cmds/xfsprogs/include/buildrules
|
||||
@@ -6,16 +6,19 @@ _BUILDRULES_INCLUDED_ = 1
|
||||
|
||||
include $(TOPDIR)/include/builddefs
|
||||
|
||||
-clean clobber : $(SUBDIRS)
|
||||
+clean clobber : $(addsuffix -clean,$(SUBDIRS))
|
||||
rm -f $(DIRT)
|
||||
@rm -fr .libs
|
||||
- $(SUBDIRS_MAKERULE)
|
||||
+%-clean:
|
||||
+ $(MAKE) -C $* clean
|
||||
|
||||
# Never blow away subdirs
|
||||
ifdef SUBDIRS
|
||||
.PRECIOUS: $(SUBDIRS)
|
||||
+.PHONY: $(SUBDIRS)
|
||||
+
|
||||
$(SUBDIRS):
|
||||
- $(SUBDIRS_MAKERULE)
|
||||
+ $(MAKE) -C $@
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -69,11 +72,13 @@ ifdef LTLIBRARY
|
||||
DEPENDSCRIPT := $(DEPENDSCRIPT) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,'
|
||||
endif
|
||||
|
||||
-depend : $(CFILES) $(HFILES)
|
||||
- $(SUBDIRS_MAKERULE)
|
||||
+depend : $(CFILES) $(HFILES) $(addsuffix -depend,$(SUBDIRS))
|
||||
$(DEPENDSCRIPT) > .dep
|
||||
test -s .dep || rm -f .dep
|
||||
|
||||
+%-depend:
|
||||
+ $(MAKE) -C $* depend
|
||||
+
|
||||
# Include dep, but only if it exists
|
||||
ifeq ($(shell test -f .dep && echo .dep), .dep)
|
||||
include .dep
|
||||
Index: xfs-cmds/xfsprogs/include/buildmacros
|
||||
===================================================================
|
||||
--- xfs-cmds.orig/xfsprogs/include/buildmacros
|
||||
+++ xfs-cmds/xfsprogs/include/buildmacros
|
||||
@@ -123,14 +123,6 @@ INSTALL_LINGUAS = \
|
||||
done
|
||||
endif
|
||||
|
||||
-SUBDIRS_MAKERULE = \
|
||||
- @for d in $(SUBDIRS) ""; do \
|
||||
- if test -d "$$d" -a ! -z "$$d"; then \
|
||||
- $(ECHO) === $$d ===; \
|
||||
- $(MAKEF) -C $$d $@ || exit $$?; \
|
||||
- fi; \
|
||||
- done
|
||||
-
|
||||
MAN_MAKERULE = \
|
||||
@for f in *.[12345678] ""; do \
|
||||
if test ! -z "$$f"; then \
|
||||
Index: xfs-cmds/xfsprogs/man/Makefile
|
||||
===================================================================
|
||||
--- xfs-cmds.orig/xfsprogs/man/Makefile
|
||||
+++ xfs-cmds/xfsprogs/man/Makefile
|
||||
@@ -7,7 +7,16 @@ include $(TOPDIR)/include/builddefs
|
||||
|
||||
SUBDIRS = man3 man5 man8
|
||||
|
||||
-default install install-dev : $(SUBDIRS)
|
||||
- $(SUBDIRS_MAKERULE)
|
||||
+default : $(SUBDIRS)
|
||||
+
|
||||
+install : $(addsuffix -install,$(SUBDIRS))
|
||||
+
|
||||
+install-dev : $(addsuffix -install-dev,$(SUBDIRS))
|
||||
+
|
||||
+%-install:
|
||||
+ $(MAKE) -C $* install
|
||||
+
|
||||
+%-install-dev:
|
||||
+ $(MAKE) -C $* install-dev
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
_______________________________________________
|
||||
xfs mailing list
|
||||
xfs@oss.sgi.com
|
||||
http://oss.sgi.com/mailman/listinfo/xfs
|
||||
|
||||
|
@ -1,49 +0,0 @@
|
||||
Linux kernels (at least up until 2.6.27) are lacking compat sys_ustat
|
||||
handlers on some platforms (notably PPC) so that if called from 32 bits
|
||||
on a 64-bit kernel, the kernel will copy out too much (32 bytes onto a
|
||||
20-byte structure):
|
||||
|
||||
[root@xero xfstests]# xfs_logprint /dev/loop0
|
||||
xfs_logprint:
|
||||
*** stack smashing detected ***: xfs_logprint terminated
|
||||
Aborted
|
||||
|
||||
This will be fixed upstream, but for the benefit of older kernels we
|
||||
may want to guard against this by padding the structure we pass into
|
||||
the syscall. We don't care about the values anyway, just the return
|
||||
value.
|
||||
|
||||
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
|
||||
---
|
||||
|
||||
Index: xfs-cmds/xfsprogs/libxfs/linux.c
|
||||
===================================================================
|
||||
--- xfs-cmds.orig/xfsprogs/libxfs/linux.c
|
||||
+++ xfs-cmds/xfsprogs/libxfs/linux.c
|
||||
@@ -49,7 +49,8 @@ static int max_block_alignment;
|
||||
int
|
||||
platform_check_ismounted(char *name, char *block, struct stat64 *s, int verbose)
|
||||
{
|
||||
- struct ustat ust;
|
||||
+ /* Pad ust; pre-2.6.28 linux copies out too much in 32bit compat mode */
|
||||
+ struct ustat ust[2];
|
||||
struct stat64 st;
|
||||
|
||||
if (!s) {
|
||||
@@ -60,7 +61,7 @@ platform_check_ismounted(char *name, cha
|
||||
s = &st;
|
||||
}
|
||||
|
||||
- if (ustat(s->st_rdev, &ust) >= 0) {
|
||||
+ if (ustat(s->st_rdev, ust) >= 0) {
|
||||
if (verbose)
|
||||
fprintf(stderr,
|
||||
_("%s: %s contains a mounted filesystem\n"),
|
||||
|
||||
|
||||
_______________________________________________
|
||||
xfs mailing list
|
||||
xfs@oss.sgi.com
|
||||
http://oss.sgi.com/mailman/listinfo/xfs
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
Summary: Utilities for managing the XFS filesystem
|
||||
Name: xfsprogs
|
||||
Version: 2.10.2
|
||||
Release: 3%{?dist}
|
||||
Version: 3.0.0
|
||||
Release: 1%{?dist}
|
||||
# Licensing based on generic "GNU GENERAL PUBLIC LICENSE"
|
||||
# in source, with no mention of version.
|
||||
# doc/COPYING file specifies what is GPL and what is LGPL
|
||||
@ -9,7 +9,7 @@ Release: 3%{?dist}
|
||||
License: GPL+ and LGPLv2+
|
||||
Group: System Environment/Base
|
||||
URL: http://oss.sgi.com/projects/xfs/
|
||||
Source0: ftp://oss.sgi.com/projects/xfs/cmd_tars/%{name}_%{version}-1.tar.gz
|
||||
Source0: ftp://oss.sgi.com/projects/xfs/cmd_tars/%{name}-%{version}.tar.gz
|
||||
Source1: xfsprogs-wrapper.h
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: libtool, gettext
|
||||
@ -18,10 +18,6 @@ Provides: xfs-cmds
|
||||
Obsoletes: xfs-cmds <= %{version}
|
||||
Conflicts: xfsdump < 2.0.0
|
||||
|
||||
Patch0: xfsprogs-2.10.1-parallel-build.patch
|
||||
Patch1: xfsprogs-2.10.1-libdisk-gfs2.patch
|
||||
Patch2: xfsprogs-2.10.1-ustat.patch
|
||||
|
||||
%description
|
||||
A set of commands to use the XFS filesystem, including mkfs.xfs.
|
||||
|
||||
@ -51,14 +47,11 @@ also want to install xfsprogs.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p2
|
||||
%patch1 -p2
|
||||
%patch2 -p2
|
||||
|
||||
%build
|
||||
# xfsprogs abuses libexecdir
|
||||
export tagname=CC DEBUG=-DNDEBUG
|
||||
|
||||
autoconf
|
||||
# xfsprogs abuses libexecdir
|
||||
%configure \
|
||||
--sbindir=/sbin \
|
||||
--libdir=/%{_lib} \
|
||||
@ -113,12 +106,14 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{_mandir}/man3/*
|
||||
%{_includedir}/disk
|
||||
%{_includedir}/xfs
|
||||
%{_libdir}/*.a
|
||||
%{_libdir}/*.so
|
||||
|
||||
%changelog
|
||||
* Wed Feb 04 2009 Eric Sandeen <sandeen@redhat.com> 3.0.0-1
|
||||
- New upstream release
|
||||
|
||||
* Thu Jan 08 2009 Eric Sandeen <sandeen@redhat.com> 2.10.2-3
|
||||
- Fix perms of libhandle.so in specfile, not makefile
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user