mypidxx-not-always-int-20090318
authorMarc Dionne <marc.c.dionne@gmail.com>
Thu, 19 Mar 2009 03:57:42 +0000 (03:57 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 19 Mar 2009 03:57:42 +0000 (03:57 +0000)
LICENSE IPL10
FIXES 124505

don't assume MyPidxx will be an int; on linux it's current, for instance, a
task_struct

src/afs/LINUX/osi_vnodeops.c
src/afs/afs.h

index 470f7d0..2fe6222 100644 (file)
@@ -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
index 834f5e1..9396631 100644 (file)
@@ -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