[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