Index: xfs/linux/xfs_dev.c
===================================================================
RCS file: /afs/stacken.kth.se/src/SourceRepository/arla/xfs/linux/xfs_dev.c,v
retrieving revision 1.77.2.1
diff -c -r1.77.2.1 xfs_dev.c
*** xfs/linux/xfs_dev.c	2001/03/25 00:02:30	1.77.2.1
--- xfs/linux/xfs_dev.c	2001/07/23 22:53:50
***************
*** 404,409 ****
--- 404,417 ----
      return ret;
  }
  
+ inline static void setdumpable(struct task_struct *current){
+ #if LINUX_VERSION_CODE >= 132103
+   current->mm->dumpable = 1;
+ #else
+   current->dumpable = 1;
+ #endif
+ }
+ 
  /*
   * Move messages from user space to kernel space,
   * wakeup sleepers, insert new data in VFS.
***************
*** 422,428 ****
  
      XFSDEB(XDEBDEV, ("xfs_devwrite\n"));
      
!     current->dumpable = 1;
  
      if (count > MAX_XMSG_SIZE)
  	count = MAX_XMSG_SIZE;
--- 430,436 ----
  
      XFSDEB(XDEBDEV, ("xfs_devwrite\n"));
      
!     setdumpable(current);
  
      if (count > MAX_XMSG_SIZE)
  	count = MAX_XMSG_SIZE;
Index: xfs/linux/xfs_inodeops.c
===================================================================
RCS file: /afs/stacken.kth.se/src/SourceRepository/arla/xfs/linux/xfs_inodeops.c,v
retrieving revision 1.149.2.1
diff -c -r1.149.2.1 xfs_inodeops.c
*** xfs/linux/xfs_inodeops.c	2001/01/28 16:13:38	1.149.2.1
--- xfs/linux/xfs_inodeops.c	2001/07/24 09:23:15
***************
*** 47,53 ****
  xfs_lookup (struct inode *inode, struct dentry *dentry);
  
  static int
! xfs_fsync(struct file *file, struct dentry *dentry);
  
  static int
  do_fsync(struct xfs *xfsp, struct xfs_node *xn, u_int flag);
--- 47,53 ----
  xfs_lookup (struct inode *inode, struct dentry *dentry);
  
  static int
! xfs_fsync(struct file *file, struct dentry *dentry, int datasync); /* XXX haba unused datasync */
  
  static int
  do_fsync(struct xfs *xfsp, struct xfs_node *xn, u_int flag);
***************
*** 153,159 ****
   */
  
  static int
! xfs_as_writepage(struct file *file, struct page *page)
  {
      printk ("XFS PANIC: xfs_as_writepage\n");
      *(int *) NULL = 10;
--- 153,159 ----
   */
  
  static int
! xfs_as_writepage(struct page *page)
  {
      printk ("XFS PANIC: xfs_as_writepage\n");
      *(int *) NULL = 10;
***************
*** 281,287 ****
      release:	xfs_release_file,
      fsync:	xfs_fsync,
  };
- 
  #endif /* LINUX2_3 */
  
  struct file_operations xfs_dead_operations = {
--- 281,286 ----
***************
*** 603,609 ****
   */
  
  static int
! xfs_fsync(struct file *file, struct dentry *dentry)
  {
      struct inode *inode = DENTRY_TO_INODE(dentry);
      struct xfs *xfsp = XFS_FROM_VNODE(inode);
--- 602,608 ----
   */
  
  static int
! xfs_fsync(struct file *file, struct dentry *dentry, int datasync) /* XXX haba unused datasync */
  {
      struct inode *inode = DENTRY_TO_INODE(dentry);
      struct xfs *xfsp = XFS_FROM_VNODE(inode);
Index: xfs/linux/xfs_message.c
===================================================================
RCS file: /afs/stacken.kth.se/src/SourceRepository/arla/xfs/linux/xfs_message.c,v
retrieving revision 1.94.2.2
diff -c -r1.94.2.2 xfs_message.c
*** xfs/linux/xfs_message.c	2001/03/04 05:44:45	1.94.2.2
--- xfs/linux/xfs_message.c	2001/07/24 09:03:22
***************
*** 130,144 ****
  		} else if (dentry->d_inode != XNODE_TO_VNODE(n)) {
  		    printk(KERN_EMERG
  			   "XFS SoftAssert: existing inode "
! 			   "(%x, fid %d.%d.%d.%d) != "
! 			   "installing %s(%x, fid %d.%d.%d.%d)\n",
! 			   (unsigned int)dentry->d_inode,
  			   VNODE_TO_XNODE(dentry->d_inode)->handle.a,
  			   VNODE_TO_XNODE(dentry->d_inode)->handle.b,
  			   VNODE_TO_XNODE(dentry->d_inode)->handle.c,
  			   VNODE_TO_XNODE(dentry->d_inode)->handle.d,
  			   message->name,
! 			   (unsigned int)XNODE_TO_VNODE(n),
  			   n->handle.a,
  			   n->handle.b,
  			   n->handle.c,
--- 130,144 ----
  		} else if (dentry->d_inode != XNODE_TO_VNODE(n)) {
  		    printk(KERN_EMERG
  			   "XFS SoftAssert: existing inode "
! 			   "(%lx, fid %d.%d.%d.%d) != "
! 			   "installing %s(%lx, fid %d.%d.%d.%d)\n",
! 			   (unsigned long int)dentry->d_inode,
  			   VNODE_TO_XNODE(dentry->d_inode)->handle.a,
  			   VNODE_TO_XNODE(dentry->d_inode)->handle.b,
  			   VNODE_TO_XNODE(dentry->d_inode)->handle.c,
  			   VNODE_TO_XNODE(dentry->d_inode)->handle.d,
  			   message->name,
! 			   (unsigned long int)XNODE_TO_VNODE(n),
  			   n->handle.a,
  			   n->handle.b,
  			   n->handle.c,
Index: xfs/linux/xfs_syscalls.c
===================================================================
RCS file: /afs/stacken.kth.se/src/SourceRepository/arla/xfs/linux/xfs_syscalls.c,v
retrieving revision 1.64.2.1
diff -c -r1.64.2.1 xfs_syscalls.c
*** xfs/linux/xfs_syscalls.c	2001/03/23 21:07:59	1.64.2.1
--- xfs/linux/xfs_syscalls.c	2001/07/25 10:09:51
***************
*** 31,36 ****
--- 31,37 ----
   * SUCH DAMAGE.
   */
  
+ #define SUSESPECIAL
  #define __NO_VERSION__
  
  #include <xfs/xfs_locl.h>
***************
*** 159,175 ****
  typedef int (*sys_setgroups_function)(int, gid_t *);
  
  #ifdef ARLA_NR_setgroups16
! typedef int (*sys_setgroups16_function)(int, old_gid_t *);
  #endif
  
  typedef int (*sys_call_function)(void);
! 
  extern sys_call_function sys_call_table[];
  #ifdef NEED_VICEIOCTL32
  extern u_int32_t sys_call_table32[];
  #endif
  
- static sys_call_function old_afs_syscall=NULL;
  #ifdef NEED_VICEIOCTL32
  static u_int32_t old_afs_syscall32=0;
  #endif
--- 160,181 ----
  typedef int (*sys_setgroups_function)(int, gid_t *);
  
  #ifdef ARLA_NR_setgroups16
! typedef int (*sys_setgroups16_function)(int, gid16_t *);
  #endif
  
  typedef int (*sys_call_function)(void);
! #ifdef SUSESPECIAL
! extern unsigned sys_call_table[];
! static unsigned old_afs_syscall=0;
! #else
  extern sys_call_function sys_call_table[];
+ static sys_call_function old_afs_syscall=NULL;
+ #endif /* SUSESPECIAL */
+ 
  #ifdef NEED_VICEIOCTL32
  extern u_int32_t sys_call_table32[];
  #endif
  
  #ifdef NEED_VICEIOCTL32
  static u_int32_t old_afs_syscall32=0;
  #endif
***************
*** 233,244 ****
  /*
   * Linux 2.3.39 and above has 2 setgroups() system calls on arm, i386,
   * m68k, sh, and sparc32. We call the old one setgroups16() because it
!  * uses a 16-bit gid_t (old_gid_t).
   * We need to fix it up too.
   */
  
  static asmlinkage int
! xfs_setgroups16 (int gidsetsize, old_gid_t *grouplist)
  {
      sys_setgroups16_function setgroups16 = (sys_setgroups16_function)old_setgroups16;
  
--- 239,250 ----
  /*
   * Linux 2.3.39 and above has 2 setgroups() system calls on arm, i386,
   * m68k, sh, and sparc32. We call the old one setgroups16() because it
!  * uses a 16-bit gid_t (gid16_t).
   * We need to fix it up too.
   */
  
  static asmlinkage int
! xfs_setgroups16 (int gidsetsize, gid16_t *grouplist)
  {
      sys_setgroups16_function setgroups16 = (sys_setgroups16_function)old_setgroups16;
  
***************
*** 761,774 ****
  void
  install_afs_syscall (void)
  {
      old_afs_syscall = sys_call_table[__NR_afs_syscall];
!     sys_call_table[__NR_afs_syscall] = (sys_call_function)&sys_afs;
  #ifdef NEED_VICEIOCTL32
      old_afs_syscall32 = sys_call_table32[__NR_afs_syscall];
      sys_call_table32[__NR_afs_syscall] = (u_int32_t)&sys32_afs;
  #endif
      old_setgroups = sys_call_table[ARLA_NR_setgroups];
      sys_call_table[ARLA_NR_setgroups] = (sys_call_function)&xfs_setgroups;
  #ifdef ARLA_NR_setgroups16
      old_setgroups16 = sys_call_table[ARLA_NR_setgroups16];
      sys_call_table[ARLA_NR_setgroups16] = (sys_call_function)&xfs_setgroups16;
--- 767,812 ----
  void
  install_afs_syscall (void)
  {
+ 
+     int n;
+     for(n=0; n <= __NR_afs_syscall; n++) {
+       XFSDEB(XDEBSYS, ("install_afs_syscall: %d is %x\n",
+ 		       n,
+ 		       (u32)sys_call_table[n]));
+     }
+     XFSDEB(XDEBSYS, ("install_afs_syscall: sys_afs is %x\n",
+ 		     (u32)&sys_afs));
+     
      old_afs_syscall = sys_call_table[__NR_afs_syscall];
!     sys_call_table[__NR_afs_syscall] = 
! #ifdef SUSESPECIAL
!       (unsigned)
! #else
!       (sys_call_function)
! #endif
!       &sys_afs;
!     XFSDEB(XDEBSYS, ("install_afs_syscall: Installed syscall %d is %x\n",
! 		     __NR_afs_syscall,
! 		     sys_call_table[__NR_afs_syscall]));
! 
  #ifdef NEED_VICEIOCTL32
      old_afs_syscall32 = sys_call_table32[__NR_afs_syscall];
      sys_call_table32[__NR_afs_syscall] = (u_int32_t)&sys32_afs;
  #endif
+ #ifdef SUSESPECIAL
+     {
+       unsigned num;
+       old_setgroups = (sys_call_function)sys_call_table[ARLA_NR_setgroups];
+       num = (unsigned)&xfs_setgroups;
+       XFSDEB(XDEBSYS, ("install_afs_syscall: old setgroups func: %x\ninstall_afs_syscall: new setgroups func: %x\n",
+ 		       (unsigned)old_setgroups,
+ 		       num));
+       sys_call_table[ARLA_NR_setgroups] = num;
+     }
+ #else
      old_setgroups = sys_call_table[ARLA_NR_setgroups];
      sys_call_table[ARLA_NR_setgroups] = (sys_call_function)&xfs_setgroups;
+ #endif
  #ifdef ARLA_NR_setgroups16
      old_setgroups16 = sys_call_table[ARLA_NR_setgroups16];
      sys_call_table[ARLA_NR_setgroups16] = (sys_call_function)&xfs_setgroups16;
***************
*** 780,786 ****
--- 818,828 ----
  {
      if (old_afs_syscall) {
  	sys_call_table[__NR_afs_syscall] = old_afs_syscall;
+ #ifdef SUSESPECIAL
+ 	old_afs_syscall = 0;
+ #else
  	old_afs_syscall = NULL;
+ #endif
      }
  #ifdef NEED_VICEIOCTL32
      if (old_afs_syscall32) {
***************
*** 789,795 ****
--- 831,841 ----
      }
  #endif
      if (old_setgroups) {
+ #ifdef SUSESPECIAL
+ 	sys_call_table[ARLA_NR_setgroups] = (unsigned)old_setgroups;
+ #else
  	sys_call_table[ARLA_NR_setgroups] = old_setgroups;
+ #endif
  	old_setgroups = NULL;
      }
  #ifdef ARLA_NR_setgroups16
