From: Marc Dionne Date: Thu, 19 Mar 2009 03:58:04 +0000 (+0000) Subject: DEVEL15-mypidxx-not-always-int-20090318 X-Git-Tag: openafs-devel-1_5_58~57 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=1f5ef2b86a33ecd551d5effad3a975a7502c554a;p=packages%2Fo%2Fopenafs.git DEVEL15-mypidxx-not-always-int-20090318 LICENSE IPL10 FIXES 124505 don't assume MyPidxx will be an int; on linux it's current, for instance, a task_struct (cherry picked from commit aaae44dfe993d95a253b35f60feab5e9806e51f2) --- diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 8a8b319a9..f5ec0ad77 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -260,7 +260,7 @@ afs_linux_readdir(struct file *fp, void *dirbuf, filldir_t filldir) */ avc->f.states |= CReadDir; avc->dcreaddir = tdc; - avc->readdir_pid = MyPidxx; + avc->readdir_pid = MyPidxx2Pid(MyPidxx); ConvertWToSLock(&avc->lock); /* Fill in until we get an error or we're done. This implementation diff --git a/src/afs/afs.h b/src/afs/afs.h index 834f5e18b..939663155 100644 --- a/src/afs/afs.h +++ b/src/afs/afs.h @@ -1180,7 +1180,7 @@ struct memCacheEntry { /*#define afs_DirtyPages(avc) (((avc)->f.states & CDirty) || osi_VMDirty_p((avc)))*/ #define afs_DirtyPages(avc) ((avc)->f.states & CDirty) -#define afs_InReadDir(avc) (((avc)->f.states & CReadDir) && (avc)->readdir_pid == MyPidxx) +#define afs_InReadDir(avc) (((avc)->f.states & CReadDir) && (avc)->readdir_pid == MyPidxx2Pid(MyPidxx)) /* The PFlush algorithm makes use of the fact that Fid.Unique is not used in below hash algorithms. Change it if need be so that flushing algorithm