From aea3a2d0c25c50ddfdc9d2902df06ec24114da3d Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Wed, 30 Jan 2002 14:01:29 +0000 Subject: [PATCH] This commit was generated by cvs2svn to compensate for changes in r433, which included commits to RCS files with non-trunk default branches. --- acinclude.m4 | 5 ++++- configure-libafs.in | 2 +- src/afs/LINUX/osi_sleep.c | 16 ++++++++++++++-- src/afs/LINUX/osi_vfsops.c | 3 ++- src/afs/LINUX/osi_vm.c | 10 ++++++---- 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 8e31a6c07..84dc1d612 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -225,7 +225,10 @@ else AFS_SYSNAME="ppc_darwin_14" ;; powerpc-apple-darwin5.1*) - AFS_SYSNAME="ppc_darwin_51" + AFS_SYSNAME="ppc_darwin_14" + ;; + powerpc-apple-darwin5.2*) + AFS_SYSNAME="ppc_darwin_14" ;; sparc-sun-solaris2.5*) AFS_SYSNAME="sun4x_55" diff --git a/configure-libafs.in b/configure-libafs.in index 8aee6cf17..94e17f275 100644 --- a/configure-libafs.in +++ b/configure-libafs.in @@ -1,5 +1,5 @@ AC_INIT(Makefile.common) -AM_INIT_AUTOMAKE(openafs-libafs,1.2.2) +AM_INIT_AUTOMAKE(openafs-libafs,1.2.3) AC_CONFIG_HEADER(config/afsconfig.h) define(OPENAFS_CONFIGURE_LIBAFS) diff --git a/src/afs/LINUX/osi_sleep.c b/src/afs/LINUX/osi_sleep.c index 2466821dd..57f84a704 100644 --- a/src/afs/LINUX/osi_sleep.c +++ b/src/afs/LINUX/osi_sleep.c @@ -10,7 +10,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/LINUX/osi_sleep.c,v 1.1.1.7 2002/01/22 19:48:12 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/LINUX/osi_sleep.c,v 1.1.1.8 2002/01/30 14:01:28 hartmans Exp $"); #include "../afs/sysincludes.h" /* Standard vendor system headers */ #include "../afs/afsincludes.h" /* Afs-based standard headers */ @@ -103,7 +103,6 @@ int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok) if (code == EINTR) { if (aintok) return EINTR; - flush_signals(current); } #else timer = afs_osi_CallProc(AfsWaitHack, (char *) current, ams); @@ -224,9 +223,22 @@ void afs_osi_Sleep(char *event) seq = evp->seq; while (seq == evp->seq) { + sigset_t saved_set; + AFS_ASSERT_GLOCK(); AFS_GUNLOCK(); + spin_lock_irq(¤t->sigmask_lock); + saved_set = current->blocked; + sigfillset(¤t->blocked); + recalc_sigpending(current); + spin_unlock_irq(¤t->sigmask_lock); + interruptible_sleep_on(&evp->cond); + + spin_lock_irq(¤t->sigmask_lock); + current->blocked = saved_set; + recalc_sigpending(current); + spin_unlock_irq(¤t->sigmask_lock); AFS_GLOCK(); } relevent(evp); diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c index 5b17db9da..6363d37ca 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -15,7 +15,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/LINUX/osi_vfsops.c,v 1.1.1.10 2001/10/14 17:59:08 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/LINUX/osi_vfsops.c,v 1.1.1.11 2002/01/30 14:01:28 hartmans Exp $"); #include "../afs/sysincludes.h" #include "../afs/afsincludes.h" @@ -78,6 +78,7 @@ struct super_block *afs_read_super(struct super_block *sb, void *data, AFS_GLOCK(); if (afs_was_mounted) { printf("You must reload the AFS kernel extensions before remounting AFS.\n"); + AFS_GUNLOCK(); return NULL; } afs_was_mounted = 1; diff --git a/src/afs/LINUX/osi_vm.c b/src/afs/LINUX/osi_vm.c index f856bac12..c3e9b22db 100644 --- a/src/afs/LINUX/osi_vm.c +++ b/src/afs/LINUX/osi_vm.c @@ -10,7 +10,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/LINUX/osi_vm.c,v 1.1.1.7 2002/01/28 00:24:18 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/LINUX/osi_vm.c,v 1.1.1.8 2002/01/30 14:01:29 hartmans Exp $"); #include "../afs/sysincludes.h" /* Standard vendor system headers */ #include "../afs/afsincludes.h" /* Afs-based standard headers */ @@ -89,12 +89,14 @@ void osi_VM_FSyncInval(struct vcache *avc) */ void osi_VM_StoreAllSegments(struct vcache *avc) { -#ifdef AFS_LINUX24_ENV struct inode *ip = (struct inode *) avc; - + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,5) + /* filemap_fdatasync() only exported in 2.4.5 and above */ ReleaseWriteLock(&avc->lock); AFS_GUNLOCK(); - write_inode_now(ip, 1); + filemap_fdatasync(ip->i_mapping); + filemap_fdatawait(ip->i_mapping); AFS_GLOCK(); ObtainWriteLock(&avc->lock, 121); #endif -- 2.39.5