[Oracleasm-commits] jlbec commits r283 - in branches/extended: . kernel vendor/common vendor/redhat vendor/suse

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Wed Feb 23 13:58:36 CST 2005


Author: jlbec
Date: 2005-02-23 13:58:34 -0600 (Wed, 23 Feb 2005)
New Revision: 283

Added:
   branches/extended/vendor/redhat/oracleasm-2.6.9-EL.spec-generic.in
Modified:
   branches/extended/Makefile
   branches/extended/configure.in
   branches/extended/kernel/oracleasm.c
   branches/extended/rpmarch.guess
   branches/extended/vendor/common/oracleasm-support.spec.in
   branches/extended/vendor/common/oracleasm.init
   branches/extended/vendor/redhat/
   branches/extended/vendor/redhat/Makefile
   branches/extended/vendor/suse/oracleasm-2.6.5.spec-generic.in
Log:

o Merge changes 269:282 from trunk.



Modified: branches/extended/Makefile
===================================================================
--- branches/extended/Makefile	2005-02-23 19:41:56 UTC (rev 282)
+++ branches/extended/Makefile	2005-02-23 19:58:34 UTC (rev 283)
@@ -66,6 +66,23 @@
 
 
 #
+# RHEL 4
+#
+
+$(TOPDIR)/vendor/redhat/oracleasm-2.6.9-%.spec: $(TOPDIR)/vendor/redhat/oracleasm-2.6.9-EL.spec-generic
+	SPECVER="$@"; \
+		SPECVER="$${SPECVER#*oracleasm-2.6.9-}"; \
+		SPECVER="$${SPECVER%.EL.spec}"; \
+		sed -e 's/^%define sver.*%{generic}$$/%define sver		'$${SPECVER}'/' < $< > $@
+
+rhel4_%_srpm: dist $(TOPDIR)/vendor/redhat/oracleasm-2.6.9-%.EL.spec
+	$(RPMBUILD) -bs --define "_sourcedir $(RPM_TOPDIR)" --define "_srcrpmdir $(RPM_TOPDIR)" $(TOPDIR)/vendor/redhat/oracleasm-2.6.9-$(patsubst rhel4_%_srpm,%,$@).EL.spec
+
+rhel4_%_rpm: rhel4_%_srpm
+	$(RPMBUILD) --rebuild $(MODULEARCH) "oracleasm-2.6.9-$(patsubst rhel4_%_rpm,%,$@).EL-$(DIST_VERSION)-$(RPM_VERSION).src.rpm"
+
+
+#
 # Include this at the very end of the Makefile
 #
 include $(TOPDIR)/Postamble.make

Modified: branches/extended/configure.in
===================================================================
--- branches/extended/configure.in	2005-02-23 19:41:56 UTC (rev 282)
+++ branches/extended/configure.in	2005-02-23 19:58:34 UTC (rev 283)
@@ -17,7 +17,7 @@
 #
 MAJOR_VERSION=1
 MINOR_VERSION=0
-MICRO_VERSION=94
+MICRO_VERSION=95
 INTERFACE_AGE=0
 BINARY_AGE=0
 VERSION="${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}"
@@ -153,15 +153,15 @@
 
 KERNELINC="$kerneldir/include"
 
-if test ! -f "$KERNELINC/linux/autoconf.h"; then
-  AC_MSG_ERROR(No configured kernel include tree found)
-fi
-
 saved_CPPFLAGS="$CPPFLAGS"
 CPPFLAGS="-I$KERNELINC $CPPFLAGS"
 saved_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $M64"
 
+if test ! -f "$KERNELINC/linux/autoconf.h"; then
+  AC_MSG_ERROR(No configured kernel include tree found)
+fi
+
 AC_CHECK_SIZEOF(unsigned long)
 
 AC_MSG_CHECKING([for kernel module symbol versions])
@@ -179,16 +179,6 @@
 fi
 AC_SUBST(MODVERSIONS)
 
-CPPFLAGS="$saved_CPPFLAGS"
-CFLAGS="$saved_CFLAGS"
-
-AC_MSG_CHECKING(for directory for kernel modules)
-AC_ARG_WITH(moddir, [  --with-moddir=/path     Path to where modules should be installed [/lib/modules/<KVER>/fs]], moddir="$withval", moddir="/lib/modules/$kversion/kernel/fs")
-AC_MSG_RESULT($moddir)
-
-MODULEDIR=$moddir
-AC_SUBST(MODULEDIR)
-
 AC_MSG_CHECKING(for kernel version)
 rm -f conf.kvertest
 AC_TRY_RUN([
@@ -230,6 +220,16 @@
 KERNELVER=$kversion
 AC_SUBST(KERNELVER)
 
+AC_MSG_CHECKING(for directory for kernel modules)
+AC_ARG_WITH(moddir, [  --with-moddir=/path     Path to where modules should be installed [/lib/modules/<KVER>/fs]], moddir="$withval", moddir="/lib/modules/$kversion/kernel/fs")
+AC_MSG_RESULT($moddir)
+
+MODULEDIR=$moddir
+AC_SUBST(MODULEDIR)
+
+CPPFLAGS="$saved_CPPFLAGS"
+CFLAGS="$saved_CFLAGS"
+
 AC_MSG_CHECKING(for gcc include path)
 gccdir="`$CC -print-search-dirs | sed -n 's/^install: \(.*\)/\1/p'`include"
 if test -z "$gccdir"; then
@@ -253,4 +253,5 @@
 include/linux/asm_module_version.h
 vendor/common/oracleasm-support.spec
 vendor/suse/oracleasm-2.6.5.spec-generic
+vendor/redhat/oracleasm-2.6.9-EL.spec-generic
 ])

Modified: branches/extended/kernel/oracleasm.c
===================================================================
--- branches/extended/kernel/oracleasm.c	2005-02-23 19:41:56 UTC (rev 282)
+++ branches/extended/kernel/oracleasm.c	2005-02-23 19:58:34 UTC (rev 283)
@@ -247,6 +247,7 @@
 struct asm_disk_info {
 	struct asmfs_inode_info *d_inode;
 	struct block_device *d_bdev;	/* Block device we I/O to */
+	int d_max_sectors;		/* Maximum sectors per I/O */
 	int d_live;			/* Is the disk alive? */
 	unsigned int d_interface;	/* Extended feature mask - bit
 					   31 means it is enabled */
@@ -459,17 +460,21 @@
 	struct asmfs_sb_info *asb = ASMFS_SB(sb);
 	struct asmfs_inode_info *aii;
 
+	aii = (struct asmfs_inode_info *)kmem_cache_alloc(asmfs_inode_cachep, SLAB_KERNEL);
+
+	if (!aii)
+		return NULL;
+
 	spin_lock_irq(&asb->asmfs_lock);
 	if (!asb->max_inodes || asb->free_inodes > 0) {
 		asb->free_inodes--;
-		aii = (struct asmfs_inode_info *)kmem_cache_alloc(asmfs_inode_cachep, SLAB_KERNEL);
-	} else
-		aii = NULL;
-	spin_unlock_irq(&asb->asmfs_lock);
+		spin_unlock_irq(&asb->asmfs_lock);
+	} else {
+		spin_unlock_irq(&asb->asmfs_lock);
+		kmem_cache_free(asmfs_inode_cachep, aii);
+		return NULL;
+	}
 
-	if (!aii)
-		return NULL;
-	
 	return &aii->vfs_inode;
 }
 
@@ -773,6 +778,34 @@
 	return interface;
 }
 
+/*
+ * Compute the maximum number of sectors the bdev can handle in one bio,
+ * as a power of two.
+ */
+static int compute_max_sectors(struct block_device *bdev)
+{
+	int max_pages, max_sectors, pow_two_sectors;
+
+	struct request_queue *q;
+
+	q = bdev_get_queue(bdev);
+	max_pages = q->max_sectors >> (PAGE_SHIFT - 9);
+	if (max_pages > BIO_MAX_PAGES)
+		max_pages = BIO_MAX_PAGES;
+	if (max_pages > q->max_phys_segments)
+		max_pages = q->max_phys_segments;
+	if (max_pages > q->max_hw_segments)
+		max_pages = q->max_hw_segments;
+	max_pages--; /* Handle I/Os that straddle a page */
+
+	max_sectors = max_pages << (PAGE_SHIFT - 9);
+
+	/* Why is fls() 1-based???? */
+	pow_two_sectors = 1 << (fls(max_sectors) - 1);
+
+	return pow_two_sectors;
+}
+
 static int asm_open_disk(struct file *file, struct block_device *bdev)
 {
 	int ret;
@@ -814,6 +847,7 @@
 
 		d->d_bdev = bdev;
 		d->d_interface = asm_disk_get_interface(bdev);
+		d->d_max_sectors = compute_max_sectors(bdev);
 		d->d_live = 1;
 		unlock_new_inode(disk_inode);
 	} else {
@@ -909,12 +943,12 @@
 		/* No need for a fast path */
 		add_wait_queue(&ASMFS_FILE(file)->f_wait, &wait);
 		do {
-			blk_run_address_space(bdev->bd_inode->i_mapping);
 			set_task_state(tsk, TASK_UNINTERRUPTIBLE);
 
 			if (!atomic_read(&d->d_ios))
 				break;
 
+			blk_run_address_space(bdev->bd_inode->i_mapping);
 			/*
 			 * Timeout of one second.  This is slightly
 			 * subtle.  In this wait, and *only* this wait,
@@ -2247,34 +2281,6 @@
 	return size;
 }
 
-/*
- * Compute the maximum number of sectors the bdev can handle in one bio,
- * as a power of two.
- */
-static int compute_max_sectors(struct block_device *bdev)
-{
-	int max_pages, max_sectors, pow_two_sectors;
-
-	struct request_queue *q;
-
-	q = bdev_get_queue(bdev);
-	max_pages = q->max_sectors >> (PAGE_SHIFT - 9);
-	if (max_pages > BIO_MAX_PAGES)
-		max_pages = BIO_MAX_PAGES;
-	if (max_pages > q->max_phys_segments)
-		max_pages = q->max_phys_segments;
-	if (max_pages > q->max_hw_segments)
-		max_pages = q->max_hw_segments;
-	max_pages--; /* Handle I/Os that straddle a page */
-
-	max_sectors = max_pages << (PAGE_SHIFT - 9);
-
-	/* Why is fls() 1-based???? */
-	pow_two_sectors = 1 << (fls(max_sectors) - 1);
-
-	return pow_two_sectors;
-}
-
 static ssize_t asmfs_svc_query_disk(struct file *file, char *buf, size_t size)
 {
 	struct oracleasm_query_disk_v2 *qd_info;

Modified: branches/extended/rpmarch.guess
===================================================================
--- branches/extended/rpmarch.guess	2005-02-23 19:41:56 UTC (rev 282)
+++ branches/extended/rpmarch.guess	2005-02-23 19:58:34 UTC (rev 283)
@@ -3,7 +3,9 @@
 mode="$1"
 srcdir="$2"
 
-RPMARCH=
+host_cpu=
+QUERYFILE=
+
 if test -f /etc/redhat-release ; then
   QUERYFILE=/etc/redhat-release
 elif test -f /etc/SuSE-release ; then
@@ -12,7 +14,10 @@
   QUERYFILE=/etc/UnitedLinux-release
 fi
 
-host_cpu="`rpm -qf $QUERYFILE --queryformat \"%{ARCH}\"`"
+if test -n "$QUERYFILE"; then
+  host_cpu="`rpm -qf $QUERYFILE --queryformat \"%{ARCH}\"`"
+fi
+
 if test -z "$host_cpu" -o "$host_cpu" = "noarch" ; then
   host_alias=`$srcdir/config.guess`
   host=`$srcdir/config.sub $host_alias`

Modified: branches/extended/vendor/common/oracleasm-support.spec.in
===================================================================
--- branches/extended/vendor/common/oracleasm-support.spec.in	2005-02-23 19:41:56 UTC (rev 282)
+++ branches/extended/vendor/common/oracleasm-support.spec.in	2005-02-23 19:58:34 UTC (rev 283)
@@ -40,14 +40,7 @@
 
 
 %build
-# UL/SLES SP3 - this no longer quite works.
-# workaround: ln -s linux-include/smp linux-2.4
-KPATH=/usr/src/linux-2.4
-if [ ! -d "${KPATH}" ]
-then
-    KPATH=/usr/src/linux
-fi
-%configure --sbindir=/usr/sbin --with-kernel="${KPATH}"
+%configure --sbindir=/usr/sbin
 
 cd tools
 make

Modified: branches/extended/vendor/common/oracleasm.init
===================================================================
--- branches/extended/vendor/common/oracleasm.init	2005-02-23 19:41:56 UTC (rev 282)
+++ branches/extended/vendor/common/oracleasm.init	2005-02-23 19:58:34 UTC (rev 283)
@@ -896,15 +896,19 @@
             echo "Action \"querydisk\" requires an argument" >&2
             exit 1
         fi
-	case "$2" in
-        */*)
-            check_disk "$2"
-            ;;
-        *)
-            UPDISK="`upper_disk "$2"`"
-            check_disk "$UPDISK"
-            ;;
-        esac
+	shift
+	for d in "$@"
+        do
+	    case "$d" in
+            */*)
+                check_disk "$d"
+                ;;
+            *)
+                UPDISK="`upper_disk "$d"`"
+                check_disk "$UPDISK"
+                ;;
+            esac
+        done
         ;;
 
     scandisks)


Property changes on: branches/extended/vendor/redhat
___________________________________________________________________
Name: svn:ignore
   - .*.sw?
*.spec
oracleasm.init

   + .*.sw?
*.spec
*.spec-generic


Modified: branches/extended/vendor/redhat/Makefile
===================================================================
--- branches/extended/vendor/redhat/Makefile	2005-02-23 19:41:56 UTC (rev 282)
+++ branches/extended/vendor/redhat/Makefile	2005-02-23 19:58:34 UTC (rev 283)
@@ -2,6 +2,6 @@
 
 include $(TOPDIR)/Preamble.make
 
-DIST_FILES =
+DIST_FILES = oracleasm-2.6.9-EL.spec-generic.in
 
 include $(TOPDIR)/Postamble.make

Copied: branches/extended/vendor/redhat/oracleasm-2.6.9-EL.spec-generic.in (from rev 282, trunk/vendor/redhat/oracleasm-2.6.9-EL.spec-generic.in)

Modified: branches/extended/vendor/suse/oracleasm-2.6.5.spec-generic.in
===================================================================
--- branches/extended/vendor/suse/oracleasm-2.6.5.spec-generic.in	2005-02-23 19:41:56 UTC (rev 282)
+++ branches/extended/vendor/suse/oracleasm-2.6.5.spec-generic.in	2005-02-23 19:58:34 UTC (rev 283)
@@ -34,7 +34,7 @@
 %define karch ia64
 
 %define buildsmp		0
-%define buildbig		0
+%define buildbigsmp		0
 %define build64kpagesize	1
 %define buildsn2		1
 %endif
@@ -90,7 +90,7 @@
 AutoReqProv: no
 Requires: kernel-default = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
 
 BuildRoot: %{_tmppath}/oracleasm-%{PACKAGE_VERSION}-%{PACKAGE_RELEASE}-root
@@ -108,7 +108,7 @@
 Provides: oracleasm = %{version}
 Requires: kernel-default = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
 %description default
 Kernel driver for the Oracle Automatic Storage Management library.
@@ -124,7 +124,7 @@
 Provides: oracleasm = %{version}
 Requires: kernel-smp = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
 %description smp
 Kernel driver for the Oracle Automatic Storage Management library.
@@ -140,7 +140,7 @@
 AutoReqProv: no
 Requires: kernel-bigsmp = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
 %description bigsmp
 Kernel driver for the Oracle Automatic Storage Management library.
@@ -156,23 +156,23 @@
 AutoReqProv: no
 Requires: kernel-64k-pagesize = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
-%description 64kpagesize
+%description 64k-pagesize
 Kernel driver for the Oracle Automatic Storage Management library.
 This package is compiled for Itanium kernels with a 64KB pagesize.
 %endif
 
 
 %if %{buildsn2}
-%package itanium2
+%package sn2
 Summary: The Oracle Automatic Storage Management library driver for Altix systems.
 Group: System Environment/Kernel
 Provides: oracleasm = %{version}
 AutoReqProv: no
 Requires: kernel-sn2 = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
 %description sn2
 Kernel driver for the Oracle Automatic Storage Management library.
@@ -188,7 +188,7 @@
 AutoReqProv: no
 Requires: kernel-iseries64 = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
 %description iseries64
 Kernel driver for the Oracle Automatic Storage Management library.
@@ -204,7 +204,7 @@
 AutoReqProv: no
 Requires: kernel-pmac64 = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
 %description pmac64
 Kernel driver for the Oracle Automatic Storage Management library.
@@ -220,7 +220,7 @@
 AutoReqProv: no
 Requires: kernel-pseries64 = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
 %description pseries64
 Kernel driver for the Oracle Automatic Storage Management library.
@@ -236,7 +236,7 @@
 AutoReqProv: no
 Requires: kernel-s390 = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
 %description s390
 Kernel driver for the Oracle Automatic Storage Management library.
@@ -252,7 +252,7 @@
 AutoReqProv: no
 Requires: kernel-s390x = %{kver}
 Requires: oracleasm-support >= %{support_ver}
-BuildRequires: kernel-source = %{kver}
+BuildRequires: kernel-source = %{kver}, kernel-syms = %{kver}
 
 %description s390x
 Kernel driver for the Oracle Automatic Storage Management library.



More information about the Oracleasm-commits mailing list