[OpenAFS] Re: Possible cache corruption with linux client and 1.6.1 fileserver

Andrew Deason adeason@sinenomine.net
Thu, 15 Nov 2012 13:06:10 -0600


This is a multi-part message in MIME format.

--Multipart=_Thu__15_Nov_2012_13_06_10_-0600_1=PoZKtsnw+NNANO
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Wed, 14 Nov 2012 18:38:28 -0600
Andrew Deason <adeason@sinenomine.net> wrote:

> What appears to be happening is

If you want to try a fix for this, to make sure the issue I'm talking
about is the same thing you're seeing, try the attached patch. This
patch itself will not be the actual solution that goes in the tree, but
it's simple and disables the thing that needs to be disabled.

This problem I believe was introduced with Linux commit
a32ea1e1f925399e0d81ca3f7394a44a6dafa12c, which is in 2.6.22. That was
included in RHEL5 in 2.6.18-128.el5, or at least sometime between
2.6.18-92.1.27.el5 and 2.6.18-128.el5. I'm not completely sure if that's
what actually caused this (I haven't tried to reproduce this on an older
kernel yet), but it looks like it.

-- 
Andrew Deason
adeason@sinenomine.net

--Multipart=_Thu__15_Nov_2012_13_06_10_-0600_1=PoZKtsnw+NNANO
Content-Type: text/x-diff;
 name="brittain-v1.6.1.diff"
Content-Disposition: attachment;
 filename="brittain-v1.6.1.diff"
Content-Transfer-Encoding: 7bit

diff --git a/src/afs/afs_osi_vm.c b/src/afs/afs_osi_vm.c
index 66071ac..feb2dba 100644
--- a/src/afs/afs_osi_vm.c
+++ b/src/afs/afs_osi_vm.c
@@ -80,7 +80,7 @@ osi_FlushPages(struct vcache *avc, afs_ucred_t *credp)
 	ReleaseWriteLock(&avc->lock);
 	return;
     }
-    if (hiszero(avc->mapDV)) {
+    if (0 && hiszero(avc->mapDV)) {
 	hset(avc->mapDV, avc->f.m.DataVersion);
 	ReleaseWriteLock(&avc->lock);
 	return;

--Multipart=_Thu__15_Nov_2012_13_06_10_-0600_1=PoZKtsnw+NNANO--