[OpenAFS-devel] reproducible problem during cache flush

Neulinger, Nathan nneul@umr.edu
Tue, 30 Jul 2002 13:33:41 -0500


Applying this (with hand fixes to get it to apply on the trunk + protos
branches, which have some locking+dcache changes in that vicinity) does
NOT appear to fix the problem for me.

Were you able to reproduce failure+success with this?

-- Nathan

------------------------------------------------------------
Nathan Neulinger                       EMail:  nneul@umr.edu
University of Missouri - Rolla         Phone: (573) 341-4841
Computing Services                       Fax: (573) 341-4216


> -----Original Message-----
> From: chas williams [mailto:chas@cmf.nrl.navy.mil]=20
> Sent: Tuesday, July 30, 2002 1:15 PM
> Cc: Nickolai Zeldovich; openafs-devel@openafs.org
> Subject: Re: [OpenAFS-devel] reproducible problem during cache flush=20
>=20
>=20
> >if we remove the AFS_VM_RDWR_ENV from particular places in=20
> afs_vnop_read.c
> >we should get prefetch on linux as well?
>=20
> something like the following:
>=20
> Index: src/afs/VNOPS/afs_vnop_read.c
> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /cvs/openafs/src/afs/VNOPS/afs_vnop_read.c,v
> retrieving revision 1.5.4.1
> diff -u -d -b -w -r1.5.4.1 afs_vnop_read.c
> --- src/afs/VNOPS/afs_vnop_read.c	2002/07/10 20:04:36	1.5.4.1
> +++ src/afs/VNOPS/afs_vnop_read.c	2002/07/30 18:13:50
> @@ -263,7 +263,7 @@
>       * to it in case we need to do a prefetch.
>       */
>      if (tdc) {
> -#ifndef	AFS_VM_RDWR_ENV
> +#if !defined(AFS_VM_RDWR_ENV) || defined(AFS_LINUX22_ENV)
>  	/* try to queue prefetch, if needed */
>  	if (!(tdc->flags & DFNextStarted) && !noLock) {
>  	    afs_PrefetchChunk(avc, tdc, acred, &treq);
> @@ -446,7 +446,7 @@
>  	    hadd32(afs_indexCounter, 1);
> =20
>  	    if (!noLock) {
> -#ifndef	AFS_VM_RDWR_ENV
> +#if !defined(AFS_VM_RDWR_ENV) || defined(AFS_LINUX22_ENV)
>  		if (!(code =3D afs_InitReq(&treq, acred))&&=20
> (!(tdc->flags & DFNextStarted)))
>  		    afs_PrefetchChunk(avc, tdc, acred, &treq);
>  #endif
> Index: src/afs/VNOPS/afs_vnop_write.c
> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /cvs/openafs/src/afs/VNOPS/afs_vnop_write.c,v
> retrieving revision 1.8.2.7
> diff -u -d -b -w -r1.8.2.7 afs_vnop_write.c
> --- src/afs/VNOPS/afs_vnop_write.c	2002/07/22 23:14:54	1.8.2.7
> +++ src/afs/VNOPS/afs_vnop_write.c	2002/07/30 18:13:50
> @@ -283,7 +283,7 @@
>  	if (filePos > avc->m.Length)
>  	    avc->m.Length =3D filePos;
>  #endif
> -#ifndef AFS_VM_RDWR_ENV
> +#if !defined(AFS_VM_RDWR_ENV) || defined(AFS_LINUX22_ENV)
>  	/*
>  	 * If write is implemented via VM, afs_DoPartialWrite()=20
> is called from
>  	 * the high-level write op.
> @@ -580,7 +580,7 @@
>  	}
>  #endif
>  	osi_UFSClose(tfile);
> -#ifndef	AFS_VM_RDWR_ENV
> +#if !defined(AFS_VM_RDWR_ENV) || defined(AFS_LINUX22_ENV)
>  	/*
>  	 * If write is implemented via VM, afs_DoPartialWrite()=20
> is called from
>  	 * the high-level write op.
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-devel
>=20