Index: rver/common/patches/openafs-2626.patch
===================================================================
--- /server/common/patches/openafs-2626.patch	(revision 900)
+++ 	(revision )
@@ -1,135 +1,0 @@
-===================================================================
-RCS file: /cvs/openafs/acinclude.m4,v
-retrieving revision 1.114.2.101
-retrieving revision 1.114.2.102
-diff -u -r1.114.2.101 -r1.114.2.102
---- openafs/acinclude.m4	2008/06/03 02:54:34	1.114.2.101
-+++ openafs/acinclude.m4	2008/06/09 03:39:42	1.114.2.102
-@@ -600,6 +600,8 @@
- 
-                  LINUX_KBUILD_USES_EXTRA_CFLAGS
- 		 LINUX_KERNEL_COMPILE_WORKS
-+		 LINUX_EXPORTS_FIND_TASK_BY_PID
-+		 LINUX_EXPORTS_PROC_ROOT_FS
-                  LINUX_HAVE_CURRENT_KERNEL_TIME
-                  LINUX_KMEM_CACHE_INIT
- 		 LINUX_HAVE_KMEM_CACHE_T
-===================================================================
-RCS file: /cvs/openafs/src/afs/LINUX/osi_groups.c,v
-retrieving revision 1.25.2.15
-retrieving revision 1.25.2.16
-diff -u -r1.25.2.15 -r1.25.2.16
---- openafs/src/afs/LINUX/osi_groups.c	2008/04/19 21:56:11	1.25.2.15
-+++ openafs/src/afs/LINUX/osi_groups.c	2008/06/09 03:39:44	1.25.2.16
-@@ -20,7 +20,7 @@
- #endif
- 
- RCSID
--    ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.15 2008/04/19 21:56:11 shadow Exp $");
-+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.16 2008/06/09 03:39:44 shadow Exp $");
- 
- #include "afs/sysincludes.h"
- #include "afsincludes.h"
-@@ -646,7 +646,11 @@
- #  endif
- 	    rcu_read_lock();
- # endif
-+#if defined(EXPORTED_FIND_TASK_BY_PID)
- 	p = find_task_by_pid(1);
-+#else
-+	p = find_task_by_vpid(1);
-+#endif
- 	if (p && p->user->session_keyring)
- 	    __key_type_keyring = p->user->session_keyring->type;
- # ifdef EXPORTED_TASKLIST_LOCK
-===================================================================
-RCS file: /cvs/openafs/src/afs/LINUX/osi_module.c,v
-retrieving revision 1.52.2.29
-retrieving revision 1.52.2.30
-diff -u -r1.52.2.29 -r1.52.2.30
---- openafs/src/afs/LINUX/osi_module.c	2007/10/24 18:09:50	1.52.2.29
-+++ openafs/src/afs/LINUX/osi_module.c	2008/06/09 03:39:44	1.52.2.30
-@@ -15,7 +15,7 @@
- #include "afs/param.h"
- 
- RCSID
--    ("$Header: /cvs/openafs/src/afs/LINUX/osi_module.c,v 1.52.2.29 2007/10/24 18:09:50 shadow Exp $");
-+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_module.c,v 1.52.2.30 2008/06/09 03:39:44 shadow Exp $");
- 
- #include <linux/module.h> /* early to avoid printf->printk mapping */
- #include "afs/sysincludes.h"
-@@ -237,8 +237,16 @@
- {
-     struct proc_dir_entry *entry1;
-     struct proc_dir_entry *entry2;
-+#if !defined(EXPORTED_PROC_ROOT_FS)
-+    char path[64];
-+#endif
- 
-+#if defined(EXPORTED_PROC_ROOT_FS)
-     openafs_procfs = proc_mkdir(PROC_FSDIRNAME, proc_root_fs);
-+#else
-+    sprintf(path, "fs/%s", PROC_FSDIRNAME);
-+    openafs_procfs = proc_mkdir(path, NULL);
-+#endif
-     entry1 = create_proc_entry(PROC_SYSCALL_NAME, 0666, openafs_procfs);
- 
-     entry1->proc_fops = &afs_syscall_fops;
-@@ -263,9 +271,18 @@
- static void
- afsproc_exit(void)
- {
-+#if !defined(EXPORTED_PROC_ROOT_FS)
-+    char path[64];
-+#endif
-+
-+#if defined(EXPORTED_PROC_ROOT_FS)
-+    remove_proc_entry(PROC_FSDIRNAME, proc_root_fs);
-+#else
-+    sprintf(path, "fs/%s", PROC_FSDIRNAME);
-+    remove_proc_entry(path, NULL);
-+#endif
-     remove_proc_entry(PROC_CELLSERVDB_NAME, openafs_procfs);
-     remove_proc_entry(PROC_SYSCALL_NAME, openafs_procfs);
--    remove_proc_entry(PROC_FSDIRNAME, proc_root_fs);
- #if defined(NEED_IOCTL32) && !defined(HAVE_COMPAT_IOCTL)
-     if (ioctl32_done)
- 	    unregister_ioctl32_conversion(VIOC_SYSCALL32);
-===================================================================
-RCS file: /cvs/openafs/src/cf/linux-test4.m4,v
-retrieving revision 1.20.2.48
-retrieving revision 1.20.2.49
-diff -u -r1.20.2.48 -r1.20.2.49
---- openafs/src/cf/linux-test4.m4	2008/05/20 20:39:53	1.20.2.48
-+++ openafs/src/cf/linux-test4.m4	2008/06/09 03:39:44	1.20.2.49
-@@ -1005,3 +1005,30 @@
-     AC_DEFINE([EXPORTED_RCU_READ_LOCK], 1, [define if rcu_read_lock() is usable])
-   fi])
-  
-+AC_DEFUN([LINUX_EXPORTS_FIND_TASK_BY_PID], [
-+  AC_MSG_CHECKING([if find_task_by_pid is usable])
-+  AC_CACHE_VAL([ac_cv_linux_exports_find_task_by_pid], [
-+    AC_TRY_KBUILD(
-+[#include <linux/sched.h>],
-+[pid_t p;
-+find_task_by_pid(p);],
-+      ac_cv_linux_exports_find_task_by_pid=yes,
-+      ac_cv_linux_exports_find_task_by_pid=no)])
-+  AC_MSG_RESULT($ac_cv_linux_exports_find_task_by_pid)
-+  if test "x$ac_cv_linux_exports_find_task_by_pid" = "xyes"; then
-+    AC_DEFINE([EXPORTED_FIND_TASK_BY_PID], 1, [define if find_task_by_pid() is usable])
-+  fi])
-+ 
-+AC_DEFUN([LINUX_EXPORTS_PROC_ROOT_FS], [
-+  AC_MSG_CHECKING([if proc_root_fs is defined and exported])
-+  AC_CACHE_VAL([ac_cv_linux_exports_proc_root_fs], [
-+    AC_TRY_KBUILD(
-+[#include <linux/proc_fs.h>],
-+[struct proc_dir_entry *p = proc_root_fs;],
-+      ac_cv_linux_exports_proc_root_fs=yes,
-+      ac_cv_linux_exports_proc_root_fs=no)])
-+  AC_MSG_RESULT($ac_cv_linux_exports_proc_root_fs)
-+  if test "x$ac_cv_linux_exports_proc_root_fs" = "xyes"; then
-+    AC_DEFINE([EXPORTED_PROC_ROOT_FS], 1, [define if proc_root_fs is exported])
-+  fi])
-+ 
Index: rver/common/patches/openafs-enoent.patch
===================================================================
--- /server/common/patches/openafs-enoent.patch	(revision 900)
+++ 	(revision )
@@ -1,72 +1,0 @@
-Index: osi_vnodeops.c
-===================================================================
-RCS file: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v
-retrieving revision 1.81.2.68
-diff -u -r1.81.2.68 osi_vnodeops.c
---- src/afs/LINUX/osi_vnodeops.c	7 Oct 2008 03:41:15 -0000	1.81.2.68
-+++ src/afs/LINUX/osi_vnodeops.c	7 Oct 2008 16:51:47 -0000
-@@ -789,11 +789,13 @@
-     cred_t *credp = NULL;
-     struct vcache *vcp, *pvcp, *tvc = NULL;
-     int valid;
-+    struct afs_fakestat_state fakestate;
- 
- #ifdef AFS_LINUX24_ENV
-     lock_kernel();
- #endif
-     AFS_GLOCK();
-+    afs_InitFakeStat(&fakestate);
- 
-     if (dp->d_inode) {
- 
-@@ -805,8 +807,28 @@
- 
- 	if (vcp->mvstat == 1) {         /* mount point */
- 	    if (vcp->mvid && (vcp->states & CMValid)) {
--		/* a mount point, not yet replaced by its directory */
--		goto bad_dentry;
-+		int tryEvalOnly = 0;
-+		int code = 0;
-+		struct vrequest treq;
-+
-+		credp = crref();
-+		code = afs_InitReq(&treq, credp);
-+		if (
-+#ifdef AFS_DARWIN_ENV
-+		    (strcmp(dp->d_name.name, ".DS_Store") == 0) ||
-+		    (strcmp(dp->d_name.name, "Contents") == 0) ||
-+#endif
-+		    (strcmp(dp->d_name.name, ".directory") == 0)) {
-+		    tryEvalOnly = 1;
-+		}
-+		if (tryEvalOnly)
-+		    code = afs_TryEvalFakeStat(&vcp, &fakestate, &treq);
-+		else
-+		    code = afs_EvalFakeStat(&vcp, &fakestate, &treq);
-+		if ((tryEvalOnly && vcp->mvstat == 1) || code) {
-+		    /* a mount point, not yet replaced by its directory */
-+		    goto bad_dentry;
-+		}
- 	    }
- 	} else
- 	    if (*dp->d_name.name != '/' && vcp->mvstat == 2) /* root vnode */
-@@ -870,6 +892,7 @@
-     /* Clean up */
-     if (tvc)
- 	afs_PutVCache(tvc);
-+    afs_PutFakeStat(&fakestate);
-     AFS_GUNLOCK();
-     if (credp)
- 	crfree(credp);
-@@ -884,7 +907,10 @@
-     return valid;
- 
-   bad_dentry:
--    valid = 0;
-+    if (have_submounts(dp))
-+	valid = 1;
-+    else 
-+	valid = 0;
-     goto done;
- }
- 
Index: rver/common/patches/openafs-fill-inode.patch
===================================================================
--- /server/common/patches/openafs-fill-inode.patch	(revision 900)
+++ 	(revision )
@@ -1,18 +1,0 @@
-Index: LINUX/osi_vnodeops.c
-===================================================================
-RCS file: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v
-retrieving revision 1.81.2.67
-diff -u -r1.81.2.67 osi_vnodeops.c
---- src/afs/LINUX/osi_vnodeops.c	7 Jul 2008 16:54:28 -0000	1.81.2.67
-+++ src/afs/LINUX/osi_vnodeops.c	7 Oct 2008 03:23:08 -0000
-@@ -743,8 +743,8 @@
- 
-     credp = crref();
-     code = afs_getattr(vcp, &vattr, credp);
--    if (!code)
--        vattr2inode(AFSTOV(vcp), &vattr);
-+    if (!code) 
-+	afs_fill_inode(AFSTOV(vcp), &vattr);
- 
-     AFS_GUNLOCK();
- #ifdef AFS_LINUX24_ENV
Index: rver/common/patches/openafs-splice.patch
===================================================================
--- /server/common/patches/openafs-splice.patch	(revision 900)
+++ 	(revision )
@@ -1,51 +1,0 @@
---- openafs.orig/acinclude.m4	15 Oct 2007 12:42:20 -0000	1.114.2.83
-+++ openafs/acinclude.m4	6 Nov 2007 04:25:41 -0000
-@@ -614,6 +614,7 @@
- 	  	 LINUX_AOP_WRITEBACK_CONTROL
- 		 LINUX_FS_STRUCT_FOP_HAS_FLOCK
- 		 LINUX_FS_STRUCT_FOP_HAS_SENDFILE
-+		 LINUX_FS_STRUCT_FOP_HAS_SPLICE
- 		 LINUX_KERNEL_LINUX_SYSCALL_H
- 		 LINUX_KERNEL_LINUX_SEQ_FILE_H
- 		 LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
-@@ -861,6 +862,9 @@
- 		 if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
- 		  AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SENDFILE, 1, [define if your struct file_operations has sendfile])
- 		 fi
-+		 if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then
-+		  AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SPLICE, 1, [define if your struct file_operations has splice_write and splice_read])
-+		 fi
- 		 if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
- 		  AC_DEFINE(REGISTER_SYSCTL_TABLE_NOFLAG, 1, [define if register_sysctl_table has no insert_at head flag])
- 		 fi
---- openafs.orig/src/afs/LINUX/osi_vnodeops.c	1 Nov 2007 03:33:14 -0000	1.81.2.58
-+++ openafs/src/afs/LINUX/osi_vnodeops.c	6 Nov 2007 04:25:42 -0000
-@@ -643,6 +643,10 @@
- #if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SENDFILE)
-   .sendfile =   generic_file_sendfile,
- #endif
-+#if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SPLICE)
-+  .splice_write = generic_file_splice_write,
-+  .splice_read = generic_file_splice_read,
-+#endif
-   .release =	afs_linux_release,
-   .fsync =	afs_linux_fsync,
-   .lock =	afs_linux_lock,
---- openafs.orig/src/cf/linux-test4.m4	15 Oct 2007 12:42:29 -0000	1.20.2.34
-+++ openafs/src/cf/linux-test4.m4	6 Nov 2007 04:25:42 -0000
-@@ -894,3 +894,15 @@
-       ac_cv_linux_fs_struct_fop_has_sendfile=no)])
-   AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_sendfile)])
- 
-+AC_DEFUN([LINUX_FS_STRUCT_FOP_HAS_SPLICE], [
-+  AC_MSG_CHECKING([for splice_write and splice_read in struct file_operations])
-+  AC_CACHE_VAL([ac_cv_linux_fs_struct_fop_has_splice], [
-+    AC_TRY_KBUILD(
-+[#include <linux/fs.h>],
-+[struct file_operations _fop;
-+_fop.splice_write(NULL, NULL, NULL, 0, 0);
-+_fop.splice_read(NULL, NULL, NULL, 0, 0);],
-+      ac_cv_linux_fs_struct_fop_has_splice=yes,
-+      ac_cv_linux_fs_struct_fop_has_splice=no)])
-+  AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_splice)])
-+
Index: /server/fedora/Makefile
===================================================================
--- /server/fedora/Makefile	(revision 900)
+++ /server/fedora/Makefile	(revision 901)
@@ -38,5 +38,5 @@
 server_url	= "http://web.mit.edu/scripts/src"
 server_arch	= "fedora.stable"
-openafs_url	= "http://dl.openafs.org/dl/openafs/1.4.7/openafs-1.4.7-1.1.1.src.rpm"
+openafs_url	= "http://dl.openafs.org/dl/openafs/1.4.8/openafs-1.4.8-1.1.1.src.rpm"
 
 .PHONY: minimal-clean
Index: /server/fedora/specs/openafs.spec.patch
===================================================================
--- /server/fedora/specs/openafs.spec.patch	(revision 900)
+++ /server/fedora/specs/openafs.spec.patch	(revision 901)
@@ -10,24 +10,18 @@
  
  # deal with cmdline specification
-@@ -240,6 +242,11 @@
+@@ -240,6 +242,8 @@
  %endif
  ExclusiveArch: %{ix86} x86_64 ia64 s390 s390x sparc64 ppc ppc64
  
 +Patch1000: openafs-scripts.patch
-+Patch1001: openafs-2626.patch
-+Patch1002: openafs-enoent.patch
-+Patch1003: openafs-fill-inode.patch
 +
  #    http://dl.openafs.org/dl/openafs/candidate/%{afsvers}/...
  Source0: http://www.openafs.org/dl/openafs/%{afsvers}/openafs-%{afsvers}-src.tar.bz2
  Source1: http://www.openafs.org/dl/openafs/%{afsvers}/openafs-%{afsvers}-doc.tar.bz2
-@@ -678,6 +682,10 @@
+@@ -678,6 +682,7 @@
  
  # Patch openafs to build a kernel module named "openafs" instead of "libafs"
  %patch0 -p1 -b .kmod26
 +%patch1000 -p1 -b .scripts
-+%patch1001 -p1 -b .2626
-+%patch1002 -p0 -b .enoent
-+%patch1003 -p0 -b .fill-inode
  
  ##############################################################################
