]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Merge upstream 1.4.7 release.
authorRuss Allbery <rra@debian.org>
Thu, 1 May 2008 15:14:52 +0000 (15:14 +0000)
committerRuss Allbery <rra@debian.org>
Thu, 1 May 2008 15:14:52 +0000 (15:14 +0000)
37 files changed:
acinclude.m4
configure
configure-libafs
configure-libafs.in
configure.in
debian/changelog
debian/patches/dfsg
debian/rules
src/afs/LINUX/osi_groups.c
src/afs/LINUX/osi_vnodeops.c
src/afs/VNOPS/afs_vnop_lookup.c
src/afs/VNOPS/afs_vnop_read.c
src/afs/afs_call.c
src/afs/afs_pioctl.c
src/afs/afs_prototypes.h
src/aklog/klog.c
src/bucoord/dump.c
src/butc/lwps.c
src/butc/tcudbprocs.c
src/cf/kerberos.m4
src/cf/linux-test4.m4
src/config/afsconfig.h.in
src/packaging/RedHat/makesrpm.pl
src/packaging/RedHat/mockbuild.pl
src/packaging/RedHat/openafs-kmodtool
src/packaging/RedHat/openafs.spec.in
src/rx/rx_kcommon.c
src/tbutc/Makefile.in
src/ubik/beacon.c
src/ubik/phys.c
src/ubik/recovery.c
src/ubik/remote.c
src/ubik/ubik.c
src/ubik/ubik.p.h
src/venus/Makefile.in
src/viced/viced.h
src/vol/ihandle.h

index b50b4b1f370bdb98bad7c218975f0f621e99176b..231ca5a3f9538e84a3e83ab7dfdd056bf3e862b9 100644 (file)
@@ -677,6 +677,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                  LINUX_EXPORTS_SYS_CLOSE
                  LINUX_EXPORTS_SYS_OPEN
                  LINUX_EXPORTS_SYS_WAIT4
+                LINUX_EXPORTS_RCU_READ_LOCK
                 LINUX_WHICH_MODULES
                  if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
                    AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported])
index 9c3a64688dbd7f75d1c817507f804306ef8b4f3d..0fb0ac4cb3652109f1e9af0369654653d100210f 100755 (executable)
--- a/configure
+++ b/configure
@@ -657,6 +657,8 @@ AMTAR
 am__tar
 am__untar
 MACOS_VERSION
+LINUX_PKGVER
+LINUX_PKGREL
 CC
 CFLAGS
 LDFLAGS
@@ -2174,7 +2176,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=openafs
- VERSION=1.4.7pre1
+ VERSION=1.4.7
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2322,7 +2324,11 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
 ac_config_headers="$ac_config_headers src/config/afsconfig.h"
 
-MACOS_VERSION=1.4.7fc1
+MACOS_VERSION=1.4.7
+LINUX_PKGVER=1.4.7
+#LINUX_PKGREL=0.pre0
+LINUX_PKGREL=1.1
+
 
 
 
   { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_wait4" >&5
 echo "${ECHO_T}$ac_cv_linux_exports_sys_wait4" >&6; }
 
+  { echo "$as_me:$LINENO: checking if rcu_read_lock is usable" >&5
+echo $ECHO_N "checking if rcu_read_lock is usable... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_rcu_read_lock+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+    CFLAGS_PREFIX='EXTRA_'
+  fi
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rcupdate.h>
+
+void conftest(void)
+{
+rcu_read_lock();
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+    ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+    then ac_cv_linux_exports_rcu_read_lock=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_rcu_read_lock=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <linux/kernel.h>
+#include <linux/rcupdate.h>
+int
+main ()
+{
+rcu_read_lock();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_rcu_read_lock=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_rcu_read_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_rcu_read_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_rcu_read_lock" >&6; }
+  if test "x$ac_cv_linux_exports_rcu_read_lock" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_RCU_READ_LOCK 1
+_ACEOF
+
+  fi
+
 if test "x$enable_redhat_buildsys" = "xyes"; then
   MPS=Default
 else
@@ -23791,7 +23921,8 @@ echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6; }
 
 
 
-for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register krb5_decode_ticket
+
+for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register krb5_decode_ticket krb5_get_prompt_types
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 { echo "$as_me:$LINENO: checking for $ac_func" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_session_exists" >&5
 echo "${ECHO_T}$ac_cv_krb5_creds_session_exists" >&6; }
 
+{ echo "$as_me:$LINENO: checking for krb5_prompt.type existence" >&5
+echo $ECHO_N "checking for krb5_prompt.type existence... $ECHO_C" >&6; }
+if test "${ac_cv_krb5_prompt_type_exists+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <krb5.h>
+int
+main ()
+{
+krb5_prompt _p;
+printf("%x\n", _p.type);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_krb5_prompt_type_exists=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_krb5_prompt_type_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_krb5_prompt_type_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_prompt_type_exists" >&6; }
+
 if test "x$ac_cv_krb5_creds_keyblock_exists" = "xyes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -24691,6 +24892,13 @@ cat >>confdefs.h <<\_ACEOF
 #define HAVE_KRB5_CREDS_SESSION 1
 _ACEOF
 
+fi
+if test "x$ac_cv_krb5_prompt_type_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB5_PROMPT_TYPE 1
+_ACEOF
+
 fi
 
        CPPFLAGS="$save_CPPFLAGS"
@@ -25550,6 +25758,8 @@ AMTAR!$AMTAR$ac_delim
 am__tar!$am__tar$ac_delim
 am__untar!$am__untar$ac_delim
 MACOS_VERSION!$MACOS_VERSION$ac_delim
+LINUX_PKGVER!$LINUX_PKGVER$ac_delim
+LINUX_PKGREL!$LINUX_PKGREL$ac_delim
 CC!$CC$ac_delim
 CFLAGS!$CFLAGS$ac_delim
 LDFLAGS!$LDFLAGS$ac_delim
@@ -25586,7 +25796,6 @@ LEXLIB!$LEXLIB$ac_delim
 LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim
 HEADER_RT!$HEADER_RT$ac_delim
 P5PLUS_KOPTS!$P5PLUS_KOPTS$ac_delim
-LINUX_GCC_KOPTS!$LINUX_GCC_KOPTS$ac_delim
 RHCONFIG_SP!$RHCONFIG_SP$ac_delim
 _ACEOF
 
@@ -25629,6 +25838,8 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+LINUX_GCC_KOPTS!$LINUX_GCC_KOPTS$ac_delim
+RHCONFIG_SP!$RHCONFIG_SP$ac_delim
 RHCONFIG_MP!$RHCONFIG_MP$ac_delim
 MPS!$MPS$ac_delim
 PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim
@@ -25724,7 +25935,7 @@ LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 93; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 95; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
index 0575b1c91c4e476aba70e92c31c8402340aebfe0..16295477c801eea6a0982d28315ed658c4521cc3 100755 (executable)
@@ -657,6 +657,8 @@ AMTAR
 am__tar
 am__untar
 MACOS_VERSION
+LINUX_PKGVER
+LINUX_PKGREL
 CC
 CFLAGS
 LDFLAGS
@@ -2174,7 +2176,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=openafs-libafs
- VERSION=1.4.7pre1
+ VERSION=1.4.7
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2322,7 +2324,11 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
 ac_config_headers="$ac_config_headers src/config/afsconfig.h"
 
-MACOS_VERSION=1.4.7fc1
+MACOS_VERSION=1.4.7
+LINUX_PKGVER=1.4.7
+#LINUX_PKGREL=0.pre0
+LINUX_PKGREL=1.1
+
 
 
 
   { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_wait4" >&5
 echo "${ECHO_T}$ac_cv_linux_exports_sys_wait4" >&6; }
 
+  { echo "$as_me:$LINENO: checking if rcu_read_lock is usable" >&5
+echo $ECHO_N "checking if rcu_read_lock is usable... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_rcu_read_lock+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+    CFLAGS_PREFIX='EXTRA_'
+  fi
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rcupdate.h>
+
+void conftest(void)
+{
+rcu_read_lock();
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+    ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+    then ac_cv_linux_exports_rcu_read_lock=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_rcu_read_lock=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <linux/kernel.h>
+#include <linux/rcupdate.h>
+int
+main ()
+{
+rcu_read_lock();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_rcu_read_lock=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_rcu_read_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_rcu_read_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_rcu_read_lock" >&6; }
+  if test "x$ac_cv_linux_exports_rcu_read_lock" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_RCU_READ_LOCK 1
+_ACEOF
+
+  fi
+
 if test "x$enable_redhat_buildsys" = "xyes"; then
   MPS=Default
 else
@@ -23748,7 +23878,8 @@ echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6; }
 
 
 
-for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register krb5_decode_ticket
+
+for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register krb5_decode_ticket krb5_get_prompt_types
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 { echo "$as_me:$LINENO: checking for $ac_func" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_session_exists" >&5
 echo "${ECHO_T}$ac_cv_krb5_creds_session_exists" >&6; }
 
+{ echo "$as_me:$LINENO: checking for krb5_prompt.type existence" >&5
+echo $ECHO_N "checking for krb5_prompt.type existence... $ECHO_C" >&6; }
+if test "${ac_cv_krb5_prompt_type_exists+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <krb5.h>
+int
+main ()
+{
+krb5_prompt _p;
+printf("%x\n", _p.type);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_krb5_prompt_type_exists=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_krb5_prompt_type_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_krb5_prompt_type_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_prompt_type_exists" >&6; }
+
 if test "x$ac_cv_krb5_creds_keyblock_exists" = "xyes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -24648,6 +24849,13 @@ cat >>confdefs.h <<\_ACEOF
 #define HAVE_KRB5_CREDS_SESSION 1
 _ACEOF
 
+fi
+if test "x$ac_cv_krb5_prompt_type_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB5_PROMPT_TYPE 1
+_ACEOF
+
 fi
 
        CPPFLAGS="$save_CPPFLAGS"
@@ -25386,6 +25594,8 @@ AMTAR!$AMTAR$ac_delim
 am__tar!$am__tar$ac_delim
 am__untar!$am__untar$ac_delim
 MACOS_VERSION!$MACOS_VERSION$ac_delim
+LINUX_PKGVER!$LINUX_PKGVER$ac_delim
+LINUX_PKGREL!$LINUX_PKGREL$ac_delim
 CC!$CC$ac_delim
 CFLAGS!$CFLAGS$ac_delim
 LDFLAGS!$LDFLAGS$ac_delim
@@ -25422,7 +25632,6 @@ LEXLIB!$LEXLIB$ac_delim
 LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim
 HEADER_RT!$HEADER_RT$ac_delim
 P5PLUS_KOPTS!$P5PLUS_KOPTS$ac_delim
-LINUX_GCC_KOPTS!$LINUX_GCC_KOPTS$ac_delim
 RHCONFIG_SP!$RHCONFIG_SP$ac_delim
 _ACEOF
 
@@ -25465,6 +25674,8 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+LINUX_GCC_KOPTS!$LINUX_GCC_KOPTS$ac_delim
+RHCONFIG_SP!$RHCONFIG_SP$ac_delim
 RHCONFIG_MP!$RHCONFIG_MP$ac_delim
 MPS!$MPS$ac_delim
 PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim
@@ -25560,7 +25771,7 @@ LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 93; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 95; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
index 041346c68c37063c13f4fad591e5bbea6dba2035..b8b8ae984c83aa3bf587bceb2d6ab8dda277a04b 100644 (file)
@@ -1,11 +1,14 @@
 AC_INIT(src/libafs/Makefile.common.in)
-AM_INIT_AUTOMAKE(openafs-libafs,1.4.7pre3)
+AM_INIT_AUTOMAKE(openafs-libafs,1.4.7)
 AC_CONFIG_HEADER(src/config/afsconfig.h)
-MACOS_VERSION=1.4.7fc3
-LINUX_VERSION=0.pre3
+MACOS_VERSION=1.4.7
+LINUX_PKGVER=1.4.7
+#LINUX_PKGREL=0.pre0
+LINUX_PKGREL=1.1
 
 AC_SUBST(MACOS_VERSION)
-AC_SUBST(LINUX_VERSION)
+AC_SUBST(LINUX_PKGVER)
+AC_SUBST(LINUX_PKGREL)
 
 define(OPENAFS_CONFIGURE_LIBAFS)
 AC_PROG_CC
index 039c1686fb93101053d7cda042ae9ea8e23c92f3..06c0c36916b5926ceff3c0259963b65e0ad2febf 100644 (file)
@@ -1,11 +1,14 @@
 AC_INIT(src/config/stds.h)
-AM_INIT_AUTOMAKE(openafs,1.4.7pre3)
+AM_INIT_AUTOMAKE(openafs,1.4.7)
 AC_CONFIG_HEADER(src/config/afsconfig.h)
-MACOS_VERSION=1.4.7fc3
-LINUX_VERSION=0.pre3
+MACOS_VERSION=1.4.7
+LINUX_PKGVER=1.4.7
+#LINUX_PKGREL=0.pre0
+LINUX_PKGREL=1.1
 
 AC_SUBST(MACOS_VERSION)
-AC_SUBST(LINUX_VERSION)
+AC_SUBST(LINUX_PKGVER)
+AC_SUBST(LINUX_PKGREL)
 
 AC_PROG_CC
 AC_CHECK_PROGS(CPP,[/lib/cpp /usr/bin/cpp /usr/ccs/lib/cpp cpp],,[$PATH:/])
index db617b7b322ce1333a2d31db72c4cef7931a1eb8..dda19c1becf9a61c6c0658195d6c1822688d103e 100644 (file)
@@ -1,3 +1,10 @@
+openafs (1.4.7.dfsg1-1) unstable; urgency=low
+
+  * New upstream release.
+    - Work around GPLing of RCU locks.  (Closes: #476628)
+
+ -- Russ Allbery <rra@debian.org>  Thu, 01 May 2008 08:13:56 -0700
+
 openafs (1.4.7~pre3.dfsg1-1) unstable; urgency=low
 
   * New upstream release candidate:
index 3450fc74fe5999737df5f367fba1a46f40f4f3f1..c7e73b2bae2424633d82265b7ea4ad959ecc66f7 100644 (file)
@@ -62,7 +62,7 @@ upstream for obvious reasons.
 +          afs_atomlist.c afs_lhash.c snprintf.c
 --- openafs.orig/configure.in
 +++ openafs/configure.in
-@@ -85,9 +85,6 @@
+@@ -88,9 +88,6 @@
  src/mpp/Makefile \
  src/null/Makefile \
  src/package/Makefile \
index 72bb6849816726d68cd46a823f24708faf3a794d..c6e64aee0e6e41d7834b978214c32e9e5bc3bb17 100755 (executable)
@@ -46,9 +46,9 @@ DOC_PACKAGES = libpam-openafs-kaserver openafs-dbserver openafs-fileserver \
 
 # These variable is used only by get-orig-source, which will normally only be
 # run by maintainers.
-VERSION   = 1.4.7pre3
-DEBVERS   = 1.4.7~pre3.dfsg1
-UPSTREAM  = /afs/grand.central.org/software/openafs/candidate/$(VERSION)
+VERSION   = 1.4.7
+DEBVERS   = 1.4.7.dfsg1
+UPSTREAM  = /afs/grand.central.org/software/openafs/$(VERSION)
 
 # Download the upstream source, merge in the doc tarball, and do the
 # repackaging that we have to do for DFSG reasons.  This assumes AFS is
index bd8f2502f4f47ef30d6eddf6c85d9fe3c32dc47d..cd8fb50354957636299ac788c01fa1a672ad7962 100644 (file)
@@ -20,7 +20,7 @@
 #endif
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.14 2008/03/10 16:48:56 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.15 2008/04/19 21:56:11 shadow Exp $");
 
 #include "afs/sysincludes.h"
 #include "afsincludes.h"
@@ -50,12 +50,14 @@ afs_setgroups(cred_t **cr, struct group_info *group_info, int change_parent)
 
     crset(*cr);
 
+#ifdef STRUCT_TASK_STRUCT_HAS_PARENT
     if (change_parent) {
        old_info = current->parent->group_info;
        get_group_info(group_info);
        current->parent->group_info = group_info;
        put_group_info(old_info);
     }
+#endif
 
     return (0);
 }
@@ -625,32 +627,40 @@ extern rwlock_t tasklist_lock __attribute__((weak));
 void osi_keyring_init(void)
 {
     struct task_struct *p;
+
+    /* If we can't lock the tasklist, either with its explicit lock,
+     * or by using the RCU lock, then we can't safely work out the 
+     * type of a keyring. So, we have to rely on the weak reference. 
+     * If that's not available, then keyring based PAGs won't work.
+     */
     
+#if defined(EXPORTED_TASKLIST_LOCK) || (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) && defined(EXPORTED_RCU_READ_LOCK))
     if (__key_type_keyring == NULL) {
-#ifdef EXPORTED_TASKLIST_LOCK
+# ifdef EXPORTED_TASKLIST_LOCK
        if (&tasklist_lock)
            read_lock(&tasklist_lock);
-#endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
-# ifdef EXPORTED_TASKLIST_LOCK
-       else
 # endif
+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) && defined(EXPORTED_RCU_READ_LOCK))
+#  ifdef EXPORTED_TASKLIST_LOCK
+       else
+#  endif
            rcu_read_lock();
-#endif
+# endif
        p = find_task_by_pid(1);
        if (p && p->user->session_keyring)
            __key_type_keyring = p->user->session_keyring->type;
-#ifdef EXPORTED_TASKLIST_LOCK
+# ifdef EXPORTED_TASKLIST_LOCK
        if (&tasklist_lock)
            read_unlock(&tasklist_lock);
-#endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
-# ifdef EXPORTED_TASKLIST_LOCK
-       else
 # endif
+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) && defined(EXPORTED_RCU_READ_LOCK))
+#  ifdef EXPORTED_TASKLIST_LOCK
+       else
+#  endif
            rcu_read_unlock();
-#endif
+# endif
     }
+#endif
 
     register_key_type(&key_type_afs_pag);
 }
index f8d576b77f93877e43aea7fdeddaabc94a7e70c4..8cc52cdd58a9b7a2c2ced47f739910be0072581e 100644 (file)
@@ -22,7 +22,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.63 2008/04/02 18:27:13 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.64 2008/04/15 12:29:54 shadow Exp $");
 
 #include "afs/sysincludes.h"
 #include "afsincludes.h"
@@ -803,8 +803,14 @@ afs_linux_dentry_revalidate(struct dentry *dp)
        if (vcp == afs_globalVp)
            goto good_dentry;
 
-       if (*dp->d_name.name != '/' && vcp->mvstat == 2)        /* root vnode */
-           check_bad_parent(dp);       /* check and correct mvid */
+       if (vcp->mvstat == 1) {         /* mount point */
+           if (vcp->mvid && (vcp->states & CMValid)) {
+               /* a mount point, not yet replaced by its directory */
+               goto bad_dentry;
+           }
+       } else
+           if (*dp->d_name.name != '/' && vcp->mvstat == 2) /* root vnode */
+               check_bad_parent(dp);   /* check and correct mvid */
 
 #ifdef notdef
        /* If the last looker changes, we should make sure the current
index ce295031e815c14ffc96d78c7662249c5b4c4fc3..f1cfa1a50ec3a0db932f14030fbbab0a9df3bdb5 100644 (file)
@@ -18,7 +18,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_lookup.c,v 1.50.2.20 2008/03/07 17:34:08 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_lookup.c,v 1.50.2.21 2008/04/15 12:29:56 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -1120,6 +1120,7 @@ afs_lookup(OSI_VC_DECL(adp), char *aname, struct vcache **avcp, struct AFS_UCRED
     register afs_int32 code;
     register afs_int32 bulkcode = 0;
     int pass = 0, hit = 0;
+    int force_eval = afs_fakestat_enable ? 0 : 1;
     long dirCookie;
     extern afs_int32 afs_mariner;      /*Writing activity to log? */
     afs_hyper_t versionNo;
@@ -1442,8 +1443,6 @@ afs_lookup(OSI_VC_DECL(adp), char *aname, struct vcache **avcp, struct AFS_UCRED
     }                          /* sub-block just to reduce stack usage */
 
     if (tvc) {
-       int force_eval = afs_fakestat_enable ? 0 : 1;
-
        if (adp->states & CForeign)
            tvc->states |= CForeign;
        tvc->parentVnode = adp->fid.Fid.Vnode;
@@ -1464,6 +1463,9 @@ afs_lookup(OSI_VC_DECL(adp), char *aname, struct vcache **avcp, struct AFS_UCRED
                force_eval = 1;
            ReleaseReadLock(&tvc->lock);
        }
+       if (tvc->mvstat == 1 && (tvc->states & CMValid) && tvc->mvid != NULL)
+         force_eval = 1; /* This is now almost for free, get it correct */
+
 #if defined(UKERNEL) && defined(AFS_WEB_ENHANCEMENTS)
        if (!(flags & AFS_LOOKUP_NOEVAL))
            /* don't eval mount points */
@@ -1589,7 +1591,7 @@ afs_lookup(OSI_VC_DECL(adp), char *aname, struct vcache **avcp, struct AFS_UCRED
             * rather than the vc of the mount point itself.  we can still find the
             * mount point's vc in the vcache by its fid. */
 #endif /* UKERNEL && AFS_WEB_ENHANCEMENTS */
-           if (!hit) {
+           if (!hit && force_eval) {
                osi_dnlc_enter(adp, aname, tvc, &versionNo);
            } else {
 #ifdef AFS_LINUX20_ENV
index 536ee4a76ea992cac23ad91ffe6a660b463c54c8..f48ab3ae357be4ea7f0cef471f305967643b09e1 100644 (file)
@@ -19,7 +19,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_read.c,v 1.26.2.5 2007/11/29 18:36:12 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_read.c,v 1.26.2.6 2008/04/27 03:54:27 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -120,6 +120,7 @@ afs_MemRead(register struct vcache *avc, struct uio *auio,
     if (filePos >= avc->m.Length) {
        if (len > AFS_ZEROS)
            len = sizeof(afs_zeros);    /* and in 0 buffer */
+       len = 0;
 #ifdef AFS_DARWIN80_ENV
        trimlen = len;
        tuiop = afsio_darwin_partialcopy(auio, trimlen);
index d8e51a2e223bba5f47d00ca2fce169b0bad5e407..d435086590051ae7d4887d1a75d8f189be228180 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.26 2008/01/30 21:18:29 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.30 2008/04/18 14:06:50 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -1415,7 +1415,11 @@ copyin_iparam(caddr_t cmarg, struct iparam *dst)
     if (current->thread.flags & THREAD_IA32)
 
 #elif defined(AFS_PPC64_LINUX26_ENV)
+#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
     if (current->thread_info->flags & _TIF_32BIT) 
+#else
+    if (task_thread_info(current)->flags & _TIF_32BIT) 
+#endif      
 #elif defined(AFS_PPC64_LINUX20_ENV)
     if (current->thread.flags & PPC_FLAG_32BIT) 
 
@@ -1871,12 +1875,10 @@ afs_shutdown(void)
 #endif
     afs_warn("\n");
 
-    /* Close file only after daemons which can write to it are stopped. */
-    if (afs_cacheInodep) {     /* memcache won't set this */
-       osi_UFSClose(afs_cacheInodep);  /* Since we always leave it open */
-       afs_cacheInodep = 0;
-    }
-    return;                    /* Just kill daemons for now */
+#ifdef AFS_AIX51_ENV
+    shutdown_daemons();
+#endif
+
 #ifdef notdef
     shutdown_CB();
     shutdown_AFS();
@@ -1884,21 +1886,16 @@ afs_shutdown(void)
     shutdown_rxevent();
     shutdown_rx();
     afs_shutdown_BKG();
-    shutdown_bufferpackage();
-#endif
-#ifdef AFS_AIX51_ENV
-    shutdown_daemons();
 #endif
-#ifdef notdef
+    shutdown_bufferpackage();
     shutdown_cache();
     shutdown_osi();
     shutdown_osinet();
     shutdown_osifile();
     shutdown_vnodeops();
-    shutdown_vfsops();
-    shutdown_exporter();
     shutdown_memcache();
 #if (!defined(AFS_NONFSTRANS) || defined(AFS_AIX_IAUTH_ENV)) && !defined(AFS_OSF_ENV)
+    shutdown_exporter();
     shutdown_nfsclnt();
 #endif
     shutdown_afstest();
@@ -1909,8 +1906,16 @@ afs_shutdown(void)
     memset(&afs_stats_cmfullperf, 0, sizeof(struct afs_stats_CMFullPerf));
 */
     afs_warn(" ALL allocated tables\n");
+
+    /* Close file only after daemons which can write to it are stopped. */
+    if (afs_cacheInodep) {     /* memcache won't set this */
+       osi_UFSClose(afs_cacheInodep);  /* Since we always leave it open */
+       afs_cacheInodep = 0;
+    }
+
     afs_shuttingdown = 0;
-#endif
+
+    return;                    /* Just kill daemons for now */
 }
 
 void
index 8f1a52454839697b040fb217d67198b236391b0b..d39f9b77b6c8cda28c4e1440fc36e3dd46d9aee8 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.32 2008/03/22 04:17:33 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.33 2008/04/18 20:13:32 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #ifdef AFS_OBSD_ENV
@@ -284,7 +284,11 @@ copyin_afs_ioctl(caddr_t cmarg, struct afs_ioctl *dst)
     if (current->thread.flags & THREAD_IA32)
 
 #elif defined(AFS_PPC64_LINUX26_ENV)
-    if (current->thread_info->flags & _TIF_32BIT)
+#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
+    if (current->thread_info->flags & _TIF_32BIT) 
+#else
+    if (task_thread_info(current)->flags & _TIF_32BIT) 
+#endif      
 #elif defined(AFS_PPC64_LINUX20_ENV)
     if (current->thread.flags & PPC_FLAG_32BIT)
 
index 7920b118494008dbbcb5b9a3838c55e2f46e6d2f..ac2c2fe753407dcc8879cdc3d059bcd0c0695322 100644 (file)
@@ -533,6 +533,7 @@ extern void osi_FreeLargeSpace(void *adata);
 extern void osi_FreeSmallSpace(void *adata);
 extern void *osi_AllocLargeSpace(size_t size);
 extern void *osi_AllocSmallSpace(size_t size);
+extern void shutdown_osinet(void);
 
 /* afs_osi_uio.c */
 extern int afsio_copy(struct uio *ainuio, struct uio *aoutuio,
index c8890d414bf383a58fcf282661e375a7066ceece..dc0b817a397b64e5fe81d0f4f09ff8b6b963409c 100644 (file)
@@ -309,26 +309,32 @@ klog_prompter(krb5_context context,
 {
     krb5_error_code code;
     int i, type;
-#ifndef USING_HEIMDAL
+#if !defined(USING_HEIMDAL) && defined(HAVE_KRB5_GET_PROMPT_TYPES)
     krb5_prompt_type *types;
 #endif
     struct kp_arg *kparg = (struct kp_arg *) a;
     code = krb5_prompter_posix(context, a, name, banner, num_prompts, prompts);
     if (code) return code;
-#ifndef USING_HEIMDAL
+#if !defined(USING_HEIMDAL) && defined(HAVE_KRB5_GET_PROMPT_TYPES)
     if ((types = krb5_get_prompt_types(context)))
 #endif
     for (i = 0; i < num_prompts; ++i) {
-#ifdef USING_HEIMDAL
+#if !defined(USING_HEIMDAL) 
+#if defined(HAVE_KRB5_GET_PROMPT_TYPES)
+       type = types[i];
+#elif defined(HAVE_KRB5_PROMPT_TYPE)   
        type = prompts[i].type;
 #else
-       type = types[i];
+       /* AIX 5.3 krb5_get_prompt_types is missing. Um... */
+       type = ((i == 1)&&(num_prompts == 2)) ? 
+         KRB5_PROMPT_TYPE_NEW_PASSWORD_AGAIN : KRB5_PROMPT_TYPE_PASSWORD;
+#endif
+#else
+       type = prompts[i].type;
 #endif
 #if 0
-       printf ("i%d t%d <%.*s>\n", i,
-type,
-prompts[i].reply->length,
-prompts[i].reply->data);
+       printf ("i%d t%d <%.*s>\n", i, type, prompts[i].reply->length,
+               prompts[i].reply->data);
 #endif
        switch(type) {
        case KRB5_PROMPT_TYPE_PASSWORD:
@@ -385,15 +391,15 @@ CommandProc(struct cmd_syndesc *as, char *arock)
     Silent = (as->parms[aSILENT].items ? 1 : 0);
 
     if (Silent) {
-       set_com_err_hook(silent_errors);
+       afs_set_com_err_hook(silent_errors);
     }
 
     if ((code = krb5_init_context(&k5context))) {
-       com_err(rn, code, "while initializing Kerberos 5 library");
+       afs_com_err(rn, code, "while initializing Kerberos 5 library");
        KLOGEXIT(code);
     }
     if ((code = rx_Init(0))) {
-       com_err(rn, code, "while initializing rx");
+       afs_com_err(rn, code, "while initializing rx");
        KLOGEXIT(code);
     }
     initialize_U_error_table();
@@ -403,7 +409,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
     initialize_ACFG_error_table();
     /* initialize_rx_error_table(); */
     if (!(tdir = afsconf_Open(AFSDIR_CLIENT_ETC_DIRPATH))) {
-       com_err(rn, 0, "can't get afs configuration (afsconf_Open(%s))",
+       afs_com_err(rn, 0, "can't get afs configuration (afsconf_Open(%s))",
            rn, AFSDIR_CLIENT_ETC_DIRPATH);
        KLOGEXIT(1);
     }
@@ -429,9 +435,9 @@ CommandProc(struct cmd_syndesc *as, char *arock)
     cell = as->parms[aCELL].items ? as->parms[aCELL].items->data : 0;
     if ((code = afsconf_GetCellInfo(tdir, cell, "afsprot", cellconfig))) {
        if (cell)
-           com_err(rn, code, "Can't get cell information for '%s'", cell);
+           afs_com_err(rn, code, "Can't get cell information for '%s'", cell);
        else
-           com_err(rn, code, "Can't get determine local cell!");
+           afs_com_err(rn, code, "Can't get determine local cell!");
        KLOGEXIT(code);
     }
 
@@ -439,13 +445,13 @@ CommandProc(struct cmd_syndesc *as, char *arock)
        code = krb5_set_default_realm(k5context,
                (const char *) as->parms[aKRBREALM].items);
        if (code) {
-           com_err(rn, code, "Can't make <%s> the default realm",
+           afs_com_err(rn, code, "Can't make <%s> the default realm",
                as->parms[aKRBREALM].items);
            KLOGEXIT(code);
        }
     }
     else if ((code = krb5_get_host_realm(k5context, cellconfig->hostName[0], &hrealms))) {
-       com_err(rn, code, "Can't get realm for host <%s> in cell <%s>\n",
+       afs_com_err(rn, code, "Can't get realm for host <%s> in cell <%s>\n",
                cellconfig->hostName[0], cellconfig->name);
        KLOGEXIT(code);
     } else {
@@ -453,7 +459,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
            code = krb5_set_default_realm(k5context,
                    *hrealms);
            if (code) {
-               com_err(rn, code, "Can't make <%s> the default realm",
+               afs_com_err(rn, code, "Can't make <%s> the default realm",
                    *hrealms);
                KLOGEXIT(code);
            }
@@ -469,7 +475,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
        struct passwd *pw;
        pw = getpwuid(id);
        if (pw == 0) {
-           com_err(rn, 0,
+           afs_com_err(rn, 0,
                "Can't figure out your name from your user id (%d).", id);
            if (!Silent)
                fprintf(stderr, "%s: Try providing the user name.\n", rn);
@@ -479,7 +485,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
     }
     code = krb5_parse_name(k5context, pname, &princ);
     if (code) {
-       com_err(rn, code, "Can't parse principal <%s>", pname);
+       afs_com_err(rn, code, "Can't parse principal <%s>", pname);
        KLOGEXIT(code);
     }
 
@@ -575,11 +581,11 @@ CommandProc(struct cmd_syndesc *as, char *arock)
        if (krb5_get_default_realm(k5context, &r))
            r = 0;
        if (service)
-           com_err(rn, code, "Unable to authenticate to use %s", service);
+           afs_com_err(rn, code, "Unable to authenticate to use %s", service);
        else if (r)
-           com_err(rn, code, "Unable to authenticate in realm %s", r);
+           afs_com_err(rn, code, "Unable to authenticate in realm %s", r);
        else
-           com_err(rn, code, "Unable to authenticate to use cell %s",
+           afs_com_err(rn, code, "Unable to authenticate to use cell %s",
                cellconfig->name);
        if (r) free(r);
        KLOGEXIT(code);
@@ -610,7 +616,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
            break;
        Failed:
            if (code)
-               com_err(rn, code, what);
+               afs_com_err(rn, code, what);
            if (writeTicketFile) {
                if (cc) {
                    krb5_cc_close(k5context, cc);
@@ -626,7 +632,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
            mcred->client = princ;
            code = krb5_parse_name(k5context, service, &mcred->server);
            if (code) {
-               com_err(rn, code, "Unable to parse service <%s>\n", service);
+               afs_com_err(rn, code, "Unable to parse service <%s>\n", service);
                KLOGEXIT(code);
            }
            if (tofree) { free(tofree); tofree = 0; }
@@ -643,7 +649,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
        afscred = outcred;
     }
     if (code) {
-       com_err(rn, code, "Unable to get credentials to use %s", outname);
+       afs_com_err(rn, code, "Unable to get credentials to use %s", outname);
        KLOGEXIT(code);
     }
 
@@ -656,7 +662,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
        strncpy(aserver->cell, cellconfig->name, MAXKTCREALMLEN-1);
        code = ktc_SetK5Token(k5context, aserver, afscred, viceid, dosetpag);
        if (code) {
-           com_err(rn, code, "Unable to store tokens for cell %s\n",
+           afs_com_err(rn, code, "Unable to store tokens for cell %s\n",
                cellconfig->name);
            KLOGEXIT(1);
        }
@@ -672,7 +678,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
            if (afs_krb5_skip_ticket_wrapper(afscred->ticket.data,
                        afscred->ticket.length, &enc_part->data,
                        &enc_part->length)) {
-               com_err(rn, 0, "Can't unwrap %s AFS credential",
+               afs_com_err(rn, 0, "Can't unwrap %s AFS credential",
                    cellconfig->name);
                KLOGEXIT(1);
            }
@@ -698,7 +704,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
            k5_to_k4_name(k5context, afscred->client, aclient);
            code = whoami(atoken, cellconfig, aclient, &viceid);
            if (code) {
-               com_err(rn, code, "Can't get your viceid", cellconfig->name);
+               afs_com_err(rn, code, "Can't get your viceid", cellconfig->name);
                *aclient->name = 0;
            } else
                snprintf(aclient->name, MAXKTCNAMELEN-1, "AFS ID %d", viceid);
@@ -707,7 +713,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
            k5_to_k4_name(k5context, afscred->client, aclient);
        code = ktc_SetToken(aserver, atoken, aclient, dosetpag);
        if (code) {
-           com_err(rn, code, "Unable to store tokens for cell %s\n",
+           afs_com_err(rn, code, "Unable to store tokens for cell %s\n",
                cellconfig->name);
            KLOGEXIT(1);
        }
index ecd67421b9097a1446bc211bd3953d7fa7d181ca..4a020ee363a6dd97ac033b05bceaf1a256310783 100644 (file)
@@ -15,7 +15,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/dump.c,v 1.12.2.5 2008/03/10 22:35:34 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/dump.c,v 1.12.2.6 2008/04/09 16:40:16 shadow Exp $");
 
 #include <sys/types.h>
 #include <afs/cmd.h>
@@ -225,7 +225,7 @@ bc_DmpRstStart(void *param)
        free(tdump->portOffset);
     tdump->flags &= ~BC_DI_INUSE;
 
-    return code;
+    return (void *)code;
 }
 
 /* bc_StartDmpRst
index 1b4a1260b439d560262c3cd1e589c8846e3037d1..0a292508d08afffa8e8d170ad72638b72b2d9804 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/butc/lwps.c,v 1.12.2.6 2008/03/10 22:35:34 shadow Exp $");
+    ("$Header: /cvs/openafs/src/butc/lwps.c,v 1.12.2.7 2008/04/09 16:40:17 shadow Exp $");
 
 #include <sys/types.h>
 #include <string.h>
@@ -1920,7 +1920,7 @@ Restorer(void *param) {
 
     FreeNode(taskId);
     LeaveDeviceQueue(deviceLatch);
-    return (code);
+    return (void *)(code);
 }
 
 /* this is just scaffolding, creates new tape label with name <tapeName> */
@@ -2282,7 +2282,7 @@ Labeller(void *param)
 
     free(labelIfPtr);
     LeaveDeviceQueue(deviceLatch);
-    return (code);
+    return (void *)(code);
 }
 
 /* PrintTapeLabel
index d6f3d1271d02d56879edd61bc7aa79d82c940f26..1d37e62987965643ccc91818c9a5b40fecfedaff 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/butc/tcudbprocs.c,v 1.14.2.5 2008/03/10 22:35:34 shadow Exp $");
+    ("$Header: /cvs/openafs/src/butc/tcudbprocs.c,v 1.14.2.7 2008/04/18 13:57:31 shadow Exp $");
 
 #include <sys/types.h>
 #ifdef AFS_NT40_ENV
@@ -745,7 +745,7 @@ saveDbToTape(void *param)
 
     free(saveDbIfPtr);
     LeaveDeviceQueue(deviceLatch);
-    return (code);
+    return (void *)(code);
 }
 
 struct rstTapeInfo {
@@ -1021,7 +1021,7 @@ restoreDbEntries(tapeInfoPtr, rstTapeInfoPtr)
 void *
 restoreDbFromTape(void *param)
 {
-    afs_uint32 taskId = (void *)param;
+    afs_uint32 taskId = (afs_uint32) param;
     afs_int32 code = 0;
     afs_int32 i;
     struct butm_tapeInfo tapeInfo;
index da3281ea99d2e19de5750d375b732646888ed061..b67b32042bec2f3f5c69da253eca7cfca750cb48 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: kerberos.m4,v 1.1.2.14 2008/01/05 04:48:41 shadow Exp $
+dnl $Id: kerberos.m4,v 1.1.2.16 2008/04/18 20:50:28 shadow Exp $
 dnl
 dnl Kerberos autoconf glue
 dnl
@@ -58,7 +58,7 @@ if test X$conf_krb5 = XYES; then
        CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
        save_LIBS="$LIBS"
        LIBS="$LIBS $KRB5LIBS"
-       AC_CHECK_FUNCS([add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register krb5_decode_ticket])
+       AC_CHECK_FUNCS([add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register krb5_decode_ticket krb5_get_prompt_types])
        AC_CHECK_FUNCS([krb5_524_convert_creds], ,
            [AC_CHECK_FUNCS([krb524_convert_creds_kdc], ,
                [AC_CHECK_LIB([krb524], [krb524_convert_creds_kdc],
@@ -91,12 +91,26 @@ ac_cv_krb5_creds_session_exists=yes,
 ac_cv_krb5_creds_session_exists=no)])
 AC_MSG_RESULT($ac_cv_krb5_creds_session_exists)
 
+AC_MSG_CHECKING(for krb5_prompt.type existence)
+AC_CACHE_VAL(ac_cv_krb5_prompt_type_exists,
+[
+AC_TRY_COMPILE(
+[#include <krb5.h>],
+[krb5_prompt _p;
+printf("%x\n", _p.type);], 
+ac_cv_krb5_prompt_type_exists=yes,
+ac_cv_krb5_prompt_type_exists=no)])
+AC_MSG_RESULT($ac_cv_krb5_prompt_type_exists)
+       
 if test "x$ac_cv_krb5_creds_keyblock_exists" = "xyes"; then
        AC_DEFINE(HAVE_KRB5_CREDS_KEYBLOCK, 1, [define if krb5_creds has keyblock])
 fi
 if test "x$ac_cv_krb5_creds_session_exists" = "xyes"; then
        AC_DEFINE(HAVE_KRB5_CREDS_SESSION, 1, [define if krb5_creds has session])
 fi
+if test "x$ac_cv_krb5_prompt_type_exists" = "xyes"; then
+       AC_DEFINE(HAVE_KRB5_PROMPT_TYPE, 1, [define if krb5_prompt has type])
+fi
        
 dnl    AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.session],,, [#include <krb5.h>])
        CPPFLAGS="$save_CPPFLAGS"
index 76c51bbc49fb22bbc31891ed4f1db6ea12469b92..3c131cd0eb9c4bafbe1d53d99e1382c4f25b7bd3 100644 (file)
@@ -980,3 +980,16 @@ printk("%x\n", _nd.path);],
       ac_cv_linux_struct_nameidata_has_path=no)])
   AC_MSG_RESULT($ac_cv_linux_struct_nameidata_has_path)])
 
+AC_DEFUN([LINUX_EXPORTS_RCU_READ_LOCK], [
+  AC_MSG_CHECKING([if rcu_read_lock is usable])
+  AC_CACHE_VAL([ac_cv_linux_exports_rcu_read_lock], [
+    AC_TRY_KBUILD(
+[#include <linux/rcupdate.h>],
+[rcu_read_lock();],
+      ac_cv_linux_exports_rcu_read_lock=yes,
+      ac_cv_linux_exports_rcu_read_lock=no)])
+  AC_MSG_RESULT($ac_cv_linux_exports_rcu_read_lock)
+  if test "x$ac_cv_linux_exports_rcu_read_lock" = "xyes"; then
+    AC_DEFINE([EXPORTED_RCU_READ_LOCK], 1, [define if rcu_read_lock() is usable])
+  fi])
index 31b5a62602605322528fb14dd1b6e5a116d78de7..241d8bee2473a709a20e23c07bd8815e267fcd8d 100644 (file)
@@ -52,6 +52,9 @@
 /* define if your kernel exports init_mm */
 #undef EXPORTED_INIT_MM
 
+/* define if rcu_read_lock() is usable */
+#undef EXPORTED_RCU_READ_LOCK
+
 /* define if your linux kernel exports sys_chdir */
 #undef EXPORTED_SYS_CHDIR
 
 /* Define to 1 if you have the `krb5_decode_ticket' function. */
 #undef HAVE_KRB5_DECODE_TICKET
 
+/* Define to 1 if you have the `krb5_get_prompt_types' function. */
+#undef HAVE_KRB5_GET_PROMPT_TYPES
+
 /* Define to 1 if you have the `krb5_principal_get_comp_string' function. */
 #undef HAVE_KRB5_PRINCIPAL_GET_COMP_STRING
 
 /* Define to 1 if you have the `krb5_princ_size' function. */
 #undef HAVE_KRB5_PRINC_SIZE
 
+/* define if krb5_prompt has type */
+#undef HAVE_KRB5_PROMPT_TYPE
+
 /* Define to 1 if you have the <malloc.h> header file. */
 #undef HAVE_MALLOC_H
 
index 8dc5e5c2cc6ec7a22ed6f7bc47782cfef65f77a5..406d7d0853b8184fea656b385b8e7a3fcf9e7e32 100755 (executable)
@@ -19,7 +19,7 @@ my $changelog = shift;
 my $cellservdb = shift;
 
 if (!$srcball && !$docball) {
-  printf "Usage:  <version> <src.tar.gz> <doc.tar.gz> [<relnotes> [<changelog> [<cellservdb>]]]\n";
+  printf "Usage:  makesrpm <src.tar.gz> <doc.tar.gz> [<relnotes> [<changelog> [<cellservdb>]]]\n";
   exit(1);
 }
 
@@ -42,30 +42,40 @@ die "Unable to find unpacked source code\n" if !$vdir;
 my $srcdir = $tmpdir."/".$vdir;
 
 # Work out which version we're dealing with from the configure.in file
-my $version;
+my $afsversion;
+my $linuxver;
+my $linuxrel;
 my $fh = new IO::File $srcdir."/configure.in"
   or die "Unable to find unpacked configure.in file";
 while(<$fh>) {
   if (/AM_INIT_AUTOMAKE\(openafs,(.*)\)/) {
-    $version = $1;
-    last;
+    $afsversion = $1;
+    next;
+  }
+  if (/LINUX_PKGVER=(.*)/) {
+    $linuxver = $1;
+    next;
+  }
+  if (/LINUX_PKGREL=(.*)/) {
+    $linuxrel = $1;
+    next;
   }
 }
 undef $fh;
 
 # Build the RPM root
 
-print "Building version $version\n";
+print "Building version $afsversion\n";
 File::Path::mkpath([ $tmpdir."/rpmdir/SPECS",
                     $tmpdir."/rpmdir/SRPMS",
                     $tmpdir."/rpmdir/SOURCES"], 0, 0755);
 
 File::Copy::copy($srcball, 
-                $tmpdir."/rpmdir/SOURCES/openafs-$version-src.tar.bz2")
+                $tmpdir."/rpmdir/SOURCES/openafs-$afsversion-src.tar.bz2")
   or die "Unable to copy $srcball into position\n";
 
 File::Copy::copy($docball,
-                $tmpdir."/rpmdir/SOURCES/openafs-$version-doc.tar.bz2")
+                $tmpdir."/rpmdir/SOURCES/openafs-$afsversion-doc.tar.bz2")
   or die "Unable to copy $docball into position\n";
 
 # Populate it with all the stuff in the packaging directory, except the 
@@ -90,9 +100,11 @@ chmod 0755, $tmpdir."/rpmdir/SOURCES/openafs-kvers-is.sh";
 
 # Create the specfile. Use sed for this, cos its easier
 system("cat ".$srcdir."/src/packaging/RedHat/openafs.spec.in | ".
-       "sed -e 's/\@VERSION\@/$version/g' ".
-       "    -e 's/\%define afsvers.*/%define afsvers $version/g' ".
-       "    -e 's/\%define pkgvers.*/%define pkgvers $version/g' > ".
+       "sed -e 's/\@VERSION\@/$afsversion/g' ".
+       "    -e 's/\@LINUX_PKGVER\@/$linuxver/g' ".
+       "    -e 's/\@LINUX_PKGREL\@/$linuxrel/g' ".
+       "    -e 's/\%define afsvers.*/%define afsvers $afsversion/g' ".
+       "    -e 's/\%define pkgvers.*/%define pkgvers $linuxver/g' > ".
        $tmpdir."/rpmdir/SPECS/openafs.spec") == 0
   or die "sed failed : $!\n";
 
@@ -106,11 +118,11 @@ if ($cellservdb) {
 
 if ($relnotes) {
   File::Copy::copy($relnotes,
-                  $tmpdir."/rpmdir/SOURCES/RELNOTES-$version")
+                  $tmpdir."/rpmdir/SOURCES/RELNOTES-$afsversion")
   or die "Unable to copy $relnotes into position\n";
 } else {
   print "WARNING: No release notes provided. Using empty file\n";
-  system("touch $tmpdir/rpmdir/SOURCES/RELNOTES-$version");
+  system("touch $tmpdir/rpmdir/SOURCES/RELNOTES-$afsversion");
 }
 
 if ($changelog) {
@@ -128,9 +140,9 @@ system("rpmbuild -bs --define \"_topdir $tmpdir/rpmdir\" ".
   or die "rpmbuild failed : $!\n";
 
 # Copy it out to somewhere useful
-File::Copy::copy("$tmpdir/rpmdir/SRPMS/openafs-$version-1.1.src.rpm",
-                "openafs-$version-1.1.src.rpm")
+File::Copy::copy("$tmpdir/rpmdir/SRPMS/openafs-$linuxver-1.$linuxrel.src.rpm",
+                "openafs-$linuxver-1.$linuxrel.src.rpm")
   or die "Unable to copy output RPM : $!\n";
 
-print "SRPM is openafs-$version-1.1.src.rpm\n";
+print "SRPM is openafs-$linuxver-1.$linuxrel.src.rpm\n";
 
index 77c19ddde5b3edb5e2c423d586079a96dc2fe93e..d632acc97c1278883e6b5601085a5f2f31e06062 100755 (executable)
@@ -17,9 +17,53 @@ my $resultbase="/tmp/result/";
 my $stashbase="/disk/scratch/repository/";
 my $mockcommand = "/usr/bin/mock";
 my $buildall = 0;
-
+my $ignorerelease = 1;
 my @newrpms;
 
+# Words cannot describe how gross this is. Yum no longer provides usable
+# output, so we need to call the python interface. At some point this
+# probably means this script should be entirely rewritten in python,
+# but this is not that point.
+
+sub findKernelModules {
+  my ($root, $uname, @modules) = @_;
+
+  my $modlist = join(",",map { "'".$_."'" } @modules);
+  my $python = <<EOS;
+import yum;
+import sys;
+base = yum.YumBase();
+base.doConfigSetup('$root/etc/yum.conf', '$root');
+base.doRepoSetup();
+base.doSackSetup();
+EOS
+
+  if ($uname) {
+    $python.= <<EOS;
+
+for pkg, values in base.searchPackageProvides(['kernel-devel-uname-r']).items():
+  if values[0].find('kernel-devel-uname-r = ') != -1:
+    print '%s.%s %s' % (pkg.name, pkg.arch, values[0].replace('kernel-devel-uname-r = ',''));
+
+EOS
+  } else {
+    $python.= <<EOS;
+
+print '\\n'.join(['%s.%s %s' % (x.name, x.arch, x.printVer()) for x in base.searchPackageProvides([$modlist]).keys()]);
+
+EOS
+  }
+
+#  my $output = `$suser -c "python -c \\\"$python\\\"" `;
+  my $output = `python -c "$python"`;
+
+  die "Python script to figure out available kernels failed : $output" 
+    if $?;
+
+  return $output;
+}
+
+
 my %platconf = ( "fedora-5-i386" => { osver => "fc5",
                                      kmod => '1',
                                      basearch => 'i386',
@@ -80,28 +124,35 @@ my %platconf = ( "fedora-5-i386" => { osver => "fc5",
                                        basearch => 'x86_64',
                                        updaterepo => 'update',
                                        results => "el5/x86_64" },
-#               "fedora-development-i386" => { osver => "fcd",
-#                                        kmod => '1',
-#                                        basearch => 'i386',
-#                                        results => 'fedora-devel/i386'},
-#               "fedora-development-x86_64" => { osver => "fcd",
-#                                          kmod => '1',
-#                                          basearch => 'x86_64',
-#                                          results => 'fedora-devel/x86_64'} 
+                "fedora-development-i386" => { osver => "fcd",
+                                         kmod => '1',
+                                         basearch => 'i386',
+                                         results => 'fedora-devel/i386'},
+                "fedora-development-x86_64" => { osver => "fcd",
+                                           kmod => '1',
+                                           basearch => 'x86_64',
+                                           results => 'fedora-devel/x86_64'} 
 );
 
 # The following are kernels that we can't successfully build modules against
 # due to issues in the packaged kernel-devel RPM.
 
 my %badkernels = (
-       "2.6.21-2950.fc8" => { "xen" => 1} # Missing build ID
+       "2.6.21-2950.fc8" => { "xen" => 1}, # Missing build ID
 );
 
+my $help;
+my $ok = GetOptions("resultdir=s" => \$resultbase,
+                   "help" => \$help);
+
 my @platforms = @ARGV;
 my $srpm = pop @platforms;
 
-if (!$srpm || $#platforms==-1) {
-  print "Usage: $0 <platform> [<platform> [<platform> ...] ]  <srpm>\n";
+if (!$ok || $help || !$srpm || $#platforms==-1) {
+  print "Usage: $0 [options] <platform> [<platform> [...]]  <srpm>\n";
+  print "    Options are : \n";
+  print "         --resultdir <dir>    Location to place output RPMS\n";
+  print "\n";
   print "    Platform may be:\n";
   foreach ("all", sort(keys(%platconf))) { print "        ".$_."\n"; };
   exit(1);
@@ -148,21 +199,19 @@ foreach my $platform (@platforms) {
   print "Finding available kernel modules\n";
 
   my $arbitraryversion = "";
-  my $modules=`$suser -c 'yum --installroot $root provides kernel-devel'`;
-  if ($modules eq "") {
-      $modules=`$suser -c 'yum -d 2 --installroot $root provides kernel-devel'`;
-      my $modulen;
-      my %modulel;
-      foreach $modulen (split(/\n/, $modules)) {
-         my ($pk, $colon, $comment)=split(/\s+/, $modulen);
-         if ($pk =~ /^kernel/) {
-             $modulel{$pk} = "$pk";
-         } 
-      }
-      $modulen=join(" ", keys(%modulel));
-      $modules=`$suser -c 'yum --installroot $root list $modulen'`;
+
+  my $modules;
+  if ($platform=~/fedora-development/) {
+    $modules = findKernelModules($root, 0, "kernel-devel");
+  } elsif ($platform=~/centos-4/) {
+    $modules = findKernelModules($root, 0, "kernel-devel", "kernel-smp-devel", 
+                                "kernel-hugemem-devel", "kernel-xenU-devel");
+  } else {
+    $modules = findKernelModules($root, 0, 'kernel-devel');
   }
+
   foreach my $module (split(/\n/, $modules)) {
+      chomp $module;
       my ($package, $version, $repo)=split(/\s+/, $module);
       my ($arch) = ($package=~/\.(.*)$/);
       my ($variant) = ($package=~/kernel-(.*)-devel/);
@@ -175,6 +224,9 @@ foreach my $platform (@platforms) {
          next if ($variant eq "xen0"); # Fedora 5 has some bad xen0 kernel-devels
          next if ($variant eq "smp");
       }
+      if ($platform=~/fedora-8/ || $platform=~/fedora-9/ || $platform=~/fedora-development/) {
+         next if ($variant =~/debug$/); # Fedora 8 debug kernels are bad
+      }
       print "$arch : $variant : $version\n";
       $modulelist{$arch} ={} if !$modulelist{$arch};
       $modulelist{$arch}{$version} = {} if !$modulelist{$arch}{$version};
@@ -241,10 +293,18 @@ foreach my $platform (@platforms) {
           if (!-f $resultdir."/kmod-openafs-".$dvariant.
                  $oafsversion."-".$oafsrelease.".".$kversion.".".
                  $arch.".rpm") {
-           push @tobuild, $variant;
-           print $resultdir."/kmod-openafs-".$dvariant.
-                  $oafsversion."-".$oafsrelease.".".$kversion.".".
-                  $arch.".rpm is missing\n";
+           my @done = glob ($resultdir."/kmod-openafs-".$dvariant.
+                            $oafsversion."-*.".$kversion.".".$arch.".rpm");
+
+           if ($ignorerelease && $#done>=0) {
+             print "Kernel module for $kversion already exists for an".
+                   "older release. Skipping building it this time.\n";
+           } else {
+             push @tobuild, $variant;
+             print $resultdir."/kmod-openafs-".$dvariant.
+                    $oafsversion."-".$oafsrelease.".".$kversion.".".
+                    $arch.".rpm is missing\n";
+           }
           }
         }
       }
@@ -289,7 +349,7 @@ foreach my $platform (@platforms) {
     if (defined($dirh)) {
       my $file;
       while (defined($file = $dirh->read)) {
-        if ( $file=~/^kernel-devel/ &&
+        if ( $file=~/^kernel.*devel/ &&
               -f $yumcachedir.$file && ! -f $rpmstashdir.$file) {
           print "Stashing $file for later use\n";
           system("cp ".$yumcachedir.$file." ".$rpmstashdir.$file) == 0
index 5487547a059cad97a4d851ea8486284bf167d154..ac887d2ffec2c6abc6af65e377504a41a94b4f39 100644 (file)
@@ -70,11 +70,16 @@ get_rpmtemplate ()
         *.EL*) kdep="kernel${dashvariant}-%{_target_cpu} = ${verrel}" ;;
         *)     kdep="kernel-%{_target_cpu} = ${verrel}${variant}"     ;;
     esac
+    case "$verrel" in
+        *.fc9*) kname="${verrel}.%{_target_cpu}${variant:+.${variant}}" ;;
+        *)      kname="${verrel}${variant}"                             ;;
+    esac
+
     cat <<EOF
 %package       -n kmod-${kmod_name}${dashvariant}
 Summary:          ${kmod_name} kernel module(s)
 Group:            System Environment/Kernel
-Provides:         kernel-modules = ${verrel}${variant}
+Provides:         kernel-modules = ${kname}
 Provides:         ${kmod_name}-kmod = %{?epoch:%{epoch}:}%{version}-%{release}
 Provides:         openafs-kernel = %{PACKAGE_VERSION}
 Requires:         ${kdep}
@@ -85,14 +90,14 @@ Release:          %{pkgrel}.%(echo ${verrel} | tr - _)
 BuildRequires:    kernel${dashvariant}-devel-%{_target_cpu} = ${verrel}
 %description   -n kmod-${kmod_name}${dashvariant}
 This package provides the ${kmod_name} kernel modules built for the Linux
-kernel ${verrel}${variant} for the %{_target_cpu} family of processors.
+kernel ${kname} for the %{_target_cpu} family of processors.
 %post          -n kmod-${kmod_name}${dashvariant}
-/sbin/depmod -aeF /boot/System.map-${verrel}${variant} ${verrel}${variant} > /dev/null || :
+/sbin/depmod -aeF /boot/System.map-${kname} ${kname} > /dev/null || :
 %postun        -n kmod-${kmod_name}${dashvariant}
-/sbin/depmod -aF /boot/System.map-${verrel}${variant} ${verrel}${variant} &> /dev/null || :
+/sbin/depmod -aF /boot/System.map-${kname} ${kname} &> /dev/null || :
 %files         -n kmod-${kmod_name}${dashvariant}
 %defattr(644,root,root,755)
-/lib/modules/${verrel}${variant}/extra/${kmod_name}/
+/lib/modules/${kname}/extra/${kmod_name}/
 
 EOF
 }
index 8f0a2a051a81f222237a9fa6736658bd60b380ef..b0c3c7e714475b9fac2016e635b3affdfa12a3ed 100644 (file)
@@ -1,11 +1,11 @@
-# Openafs Spec $Revision: 1.1.2.19 $
+# Openafs Spec $Revision: 1.1.2.22 $
 
 %define afsvers @VERSION@
-%define pkgvers @VERSION@
+%define pkgvers @LINUX_PKGVER@
 # for beta/rc releases make pkgrel 0.X.<tag>
 # for real releases make pkgrel 1 (or more for extra releases)
 #%define pkgrel 0.1.rc1
-%define pkgrel @LINUX_VERSION@
+%define pkgrel @LINUX_PKGREL@
 
 %if %{?osvers:0}%{!?osvers:1}
 %define osvers 1
 %define upvar ""
 %{!?kvariants: %define kvariants %{?upvar}}
 
-%{!?ksrcdir: %define ksrcdir %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}}
+%if %{?ksrcdir:1}%{!?ksrcdir:0}
+  if ( -d %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}) ; then
+    %define ksrcdir %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}}
+  else
+    %define ksrcdir %{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}}
+  fi
+%endif
 
 %else # Legacy kernel build stuff 
 
@@ -242,7 +248,7 @@ Source1: http://www.openafs.org/dl/openafs/%{afsvers}/openafs-%{afsvers}-doc.tar
 Source10: http://www.openafs.org/dl/openafs/%{afsvers}/RELNOTES-%{afsvers}
 Source11: http://www.openafs.org/dl/openafs/%{afsvers}/ChangeLog
 
-Source20: http://dl.central.org/dl/cellservdb/CellServDB.2007-10-25 
+Source20: http://dl.central.org/dl/cellservdb/CellServDB.2008-04-23
 
 Source30: openafs-kernel-version.sh
 Source996: openafs-kvers-is.sh
@@ -821,7 +827,11 @@ ksrc=""
 %if %{fedorakmod} 
   for kvariant in %{kvariants} ; do
     if [ -z "${kvariant}" -o -z "$ksrc" ] ; then
-      ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
+      if [ -d %{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} ] ; then
+        ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
+      else
+        ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:+.$kvariant}
+      fi
     fi
   done
 %endif
@@ -854,6 +864,12 @@ make only_libafs_tree || exit 1
 %if %{fedorakmod} && %{build_modules}
 for kvariant in %{kvariants} ; do
   if [ -n "${kvariant}" ] ; then
+    if [ -d %{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} ] ; then
+      ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
+    else
+      ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:+.$kvariant}
+    fi
+
     cp -R libafs_tree _kmod_build_${kvariant}
     pushd _kmod_build_${kvariant}
     ./configure --with-afs-sysname=${sysname} \
@@ -861,7 +877,7 @@ for kvariant in %{kvariants} ; do
        --libdir=%{_libdir} \
        --bindir=%{_bindir} \
        --sbindir=%{_sbindir} \
-       --with-linux-kernel-headers=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} \
+       --with-linux-kernel-headers=${ksrc} \
 %if %{krb5support}
        --with-krb5-conf=/usr/kerberos/bin/krb5-config \
 %endif
@@ -1196,14 +1212,25 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libafsrpc.so.*
 for kvariant in %{kvariants}
 do
   if [ -n "$kvariant" ] ; then
-    srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP
+    if [ -d _kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP ] ; then
+      srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP
+    else
+      srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}.%{_target_cpu}.${kvariant}-SP
+    fi
   else
     srcdir=${sysname}/dest/root.client%{_prefix}/vice/etc/modload
   fi
 
-  dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}${kvariant}/extra/openafs
+  if [ -f ${srcdir}/libafs-%{kverrel}${kvariant}.ko ] ; then
+    srcmod=${srcdir}/libafs-%{kverrel}${kvariant}.ko
+    dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}${kvariant}/extra/openafs
+  else
+    srcmod=${srcdir}/libafs-%{kverrel}.%{_target_cpu}${kvariant:+.$kvariant}.ko
+    dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}.%{_target_cpu}${kvariant:+.$kvariant}/extra/openafs
+  fi
+
   mkdir -p ${dstdir}
-  install -m 755 ${srcdir}/libafs-%{kverrel}${kvariant}.ko $dstdir/openafs.ko
+  install -m 755 ${srcmod} ${dstdir}/openafs.ko
 done
 %else
 # Install the kernel modules
index 2c97f6d1b7a9e038eb414172d10cb5e2c729f978..920011e34f4e58a8bbe94428e1301b9435a2227a 100644 (file)
@@ -15,7 +15,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/rx/rx_kcommon.c,v 1.44.2.18 2008/03/10 22:35:36 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rx/rx_kcommon.c,v 1.44.2.19 2008/04/09 16:40:19 shadow Exp $");
 
 #include "rx/rx_kcommon.h"
 
@@ -291,6 +291,8 @@ rx_ServerProc(void *unused)
 #ifdef RX_ENABLE_LOCKS
     AFS_GLOCK();
 #endif /* RX_ENABLE_LOCKS */
+
+    return NULL;
 }
 #endif /* !UKERNEL */
 
index 60e8ab1e62a3b0b62009e252866607ffe8f1c1f8..8a4c6c807b5c152728d77accc7f4c2d3696551ea 100644 (file)
@@ -24,7 +24,7 @@ VOLSER  = ${srcdir}/../volser
 BUCOORDOBJS=ubik_db_if.o ../bucoord/volstub.o ../bucoord/dlq.o \
            status.o ../bucoord/bucoord_errs.o
 
-VOLSEROBJS=vsprocs.o vsutils.o
+VOLSEROBJS=vsprocs.o vsutils.o lockprocs.o
 VOLSERLIBS=${TOP_LIBDIR}/libvosadmin.a ${TOP_LIBDIR}/libafsadminutil.a
 
 LWPOBJS     =lock.o
@@ -115,6 +115,9 @@ vsutils.o: ${VOLSER}/vsutils.c
 vsprocs.o: ${VOLSER}/vsprocs.c
        ${CC} ${CFLAGS} -c ${VOLSER}/vsprocs.c
 
+lockprocs.o: ${VOLSER}/lockprocs.c
+       ${CC} ${CFLAGS} -c ${VOLSER}/lockprocs.c
+
 lock.o: ${LWP}/lock.c
        ${CC} ${CFLAGS} -c ${LWP}/lock.c
 
index 78ce29bc97615dc9188dbc61d615f27ac1a8410c..9e6834d7010399ffc9c272e4761a11d96b8a7766 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ubik/beacon.c,v 1.19.2.6 2008/03/10 22:35:36 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ubik/beacon.c,v 1.19.2.7 2008/04/09 16:40:20 shadow Exp $");
 
 #include <sys/types.h>
 #ifdef AFS_NT40_ENV
@@ -455,6 +455,7 @@ ubeacon_Interact(void *dummy)
        }
 
     }                          /* while loop */
+    return NULL;
 }
 
 /* 
index 7fc440f752b9d639c935d51304262633dc22ca7e..ba40e5b0299e349083e3e88666d9b59ea1c220cd 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ubik/phys.c,v 1.8.2.3 2007/12/10 22:46:07 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ubik/phys.c,v 1.8.2.4 2008/04/28 21:48:25 shadow Exp $");
 
 #include <sys/types.h>
 #ifdef AFS_NT40_ENV
@@ -130,7 +130,7 @@ uphys_close(register int afd)
        return EBADF;
     tfd = fdcache;
     for (i = 0; i < MAXFDCACHE; i++, tfd++) {
-       if (tfd->fd == afd) {
+       if (tfd->fd == afd && tfd->fileID != -10000) {
            tfd->refCount--;
            return 0;
        }
@@ -282,3 +282,20 @@ uphys_sync(register struct ubik_dbase *adbase, afs_int32 afile)
     uphys_close(fd);
     return code;
 }
+
+void
+uphys_invalidate(register struct ubik_dbase *adbase, afs_int32 afid)
+{
+    register int i;
+    register struct fdcache *tfd;
+
+    /* scan file descr cache */
+    for (tfd = fdcache, i = 0; i < MAXFDCACHE; i++, tfd++) {
+       if (afid == tfd->fileID) {
+           tfd->fileID = -10000;
+           if (tfd->fd >= 0 && tfd->refCount == 0)
+               close(tfd->fd);
+           return;
+       }
+    }
+}
index 84d5578ff5594266effa00d62d639e3e6756b315..364c7235a4ff6bb7b333915c3f5ec00c7886d4a1 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ubik/recovery.c,v 1.13.2.4 2008/03/10 22:35:36 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ubik/recovery.c,v 1.13.2.6 2008/04/28 21:48:25 shadow Exp $");
 
 #include <sys/types.h>
 #ifdef AFS_NT40_ENV
@@ -648,6 +648,8 @@ urecovery_Interact(void *dummy)
 #endif
                if (!code) 
                    code = rename(pbuffer, tbuffer);
+               if (!code) 
+                   code = (*ubik_dbase->open) (ubik_dbase, 0);
                if (!code)
 #endif
                /* after data is good, sync disk with correct label */
@@ -806,6 +808,7 @@ urecovery_Interact(void *dummy)
                urecovery_state |= UBIK_RECSENTDB;
        }
     }
+    return NULL;
 }
 
 /*
index 34ee230b7a6d11c25e39b58827771a431737c725..2d3d6eec9410f66c6c9304219dcbf8e70a5cb28a 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ubik/remote.c,v 1.12.2.6 2008/02/20 20:10:39 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ubik/remote.c,v 1.12.2.7 2008/04/28 21:48:25 shadow Exp $");
 
 #include <sys/types.h>
 #ifdef AFS_NT40_ENV
@@ -615,6 +615,8 @@ SDISK_SendFile(rxcall, file, length, avers)
 #endif
     if (!code) 
        code = rename(pbuffer, tbuffer);
+    if (!code) 
+       code = (*ubik_dbase->open) (ubik_dbase, 0);
     if (!code)
 #endif
     code = (*ubik_dbase->setlabel) (dbase, file, avers);
index f881fdd8479e9690c75fe837478d18e22d89d66e..56f2131c0f533ab59b82c9c213fa26b0dcf07221 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ubik/ubik.c,v 1.15.2.3 2008/03/10 22:35:36 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ubik/ubik.c,v 1.15.2.4 2008/04/28 21:48:25 shadow Exp $");
 
 #include <sys/types.h>
 #ifdef AFS_NT40_ENV
@@ -208,7 +208,7 @@ ubik_ServerInitCommon(afs_int32 myHost, short myPort,
     tdb->read = uphys_read;
     tdb->write = uphys_write;
     tdb->truncate = uphys_truncate;
-    tdb->open = 0;             /* this function isn't used any more */
+    tdb->open = uphys_invalidate;      /* this function isn't used any more */
     tdb->sync = uphys_sync;
     tdb->stat = uphys_stat;
     tdb->getlabel = uphys_getlabel;
index a6febe1dd0650e5dfd21c67d6f28a87aeea52a4b..547babc4f056f632f1488ff2b986c7b7507abf87 100644 (file)
@@ -303,7 +303,8 @@ extern int uphys_getlabel(register struct ubik_dbase *adbase, afs_int32 afile,
 extern int uphys_setlabel(register struct ubik_dbase *adbase, afs_int32 afile,
                          struct ubik_version *aversion);
 extern int uphys_sync(register struct ubik_dbase *adbase, afs_int32 afile);
-
+extern void uphys_invalidate(register struct ubik_dbase *adbase, 
+                            afs_int32 afid);
 
 /* recovery.c */
 extern int urecovery_ResetState(void);
index c07689a0ff34f6ac5c4aa8d74dabcd06ef04d9fc..8b5412e5ebc83408408e1292bd705beebb4e4c80 100644 (file)
@@ -283,13 +283,13 @@ ${DEST}/etc/kdump: kdump-build
                ${INSTALL} -f ${srcdir}/kdump ${DEST}/etc/kdump32;; \
        *alpha_linux* ) \
                ${INSTALLex} -f ${srcdir}/kdump.sh.linux ${DEST}/etc/kdump; \
-               ${INSTALL} kdump-alpha_linux-${LINUX_VERSION} $@ ;; \
+               ${INSTALL} kdump-alpha_linux-${LINUX_VERSION} $@-${LINUX_VERSION} ;; \
        *linux* ) \
                ${INSTALLex} -f ${srcdir}/kdump.sh.linux ${DEST}/etc/kdump; \
                ${INSTALL} kdump-linux-${LINUX_VERSION} $@-${LINUX_VERSION} ;; \
        hp_ux11* ) \
                ${INSTALLex} -f ${srcdir}/kdump.sh.hp_ux11 ${DEST}/etc/kdump; \
-               ${INSTALL} -f $? $@;; \
+               ${INSTALL} -f $? ${DEST}/etc/kdump32;; \
        *bsd*) \
                ;; \
        *) \
@@ -357,16 +357,19 @@ ${DESTDIR}${sbindir}/kdump: kdump-build
                        do ${INSTALL} $$f ${DESTDIR}${sbindir}/$$f || exit $$? ; \
                done ;; \
        sun*_5[789] | sun*_510 ) \
-               ${INSTALLex} -f kdump.sh.solaris7 ${DESTDIR}${sbindir}/kdump32; \
-               ${INSTALL} -f $? $@;; \
+               ${INSTALLex} -f kdump.sh.solaris7 ${DESTDIR}${sbindir}/kdump; \
+               ${INSTALL} -f kdump ${DESTDIR}${sbindir}/kdump32;; \
+       *alpha_linux* ) \
+               ${INSTALLex} -f kdump.sh.linux ${DESTDIR}${sbindir}/kdump; \
+               ${INSTALL} kdump-alpha_linux-${LINUX_VERSION} $@-${LINUX_VERSION} ;; \
        *linux* ) \
                ${INSTALLex} -f kdump.sh.linux ${DESTDIR}${sbindir}/kdump; \
-               ${INSTALL} $? $@ ;; \
+               ${INSTALL} kdump-linux-${LINUX_VERSION} $@-${LINUX_VERSION} ;; \
        hp_ux11* ) \
                ${INSTALLex} -f kdump.sh.hp_ux11 ${DESTDIR}${sbindir}/kdump; \
-               ${INSTALL} -f $? $@;; \
+               ${INSTALL} -f kdump ${DESTDIR}${sbindir}/kdump32;; \
        *) \
-               ${INSTALL} $? $@ ;; \
+               ${INSTALL} kdump $@ ;; \
        esac
 
 ${DESTDIR}${sbindir}/kdump64: kdump-build
index 3b230e5311941ba11507cb912e3d6c73674c152f..0b38c2ac1c05170477d118608b580e06749dab2a 100644 (file)
@@ -196,7 +196,7 @@ extern int busyonrst;
 #define DONTPANIC 0
 #define PANIC 1
 
-#define MAX_FILESERVER_THREAD  128     /* max number of threads in fileserver, subject to system limits */
+#define MAX_FILESERVER_THREAD  128     /* max number of threads in fileserver, subject to system limits. match to FD_HANDLE_SETASIDE */
 
 #define FILESERVER_HELPER_THREADS 7    /* Listner, IOMGR, FiveMinute, 
                                         * HostCheck, Signal, min 2 for RXSTATS */
index 5b918f8a77f51c8888e37184dffa93551adb5d30..b0bb3b238f6d3c5bb99c0db8ec843efa867d068d 100644 (file)
@@ -193,7 +193,7 @@ typedef struct StreamHandle_s {
 #define STREAM_HANDLE_MALLOCSIZE 1
 
 /* Number of file descriptors needed for non-cached I/O */
-#define FD_HANDLE_SETASIDE     64
+#define FD_HANDLE_SETASIDE     128 /* Match to MAX_FILESERVER_THREAD */
 
 /* Don't try to have more than 256 files open at once if you are planning
  * to use fopen or fdopen. The FILE structure has an eight bit field for