afs-memcachetruncate-takes-memcacheentry-not-inode-20020321
[openafs.git] / src / afs / VNOPS / afs_vnop_write.c
index 193f7aa..c598b64 100644 (file)
@@ -260,9 +260,12 @@ afs_MemWrite(avc, auio, aio, acred, noLock)
 
        code = afs_MemWriteUIO(tdc->f.inode, &tuio);
        if (code) {
+           void *mep; /* XXX in prototype world is struct memCacheEntry * */
            error = code;
            ZapDCE(tdc);                /* bad data */
-           afs_MemCacheTruncate(tdc->f.inode, 0);
+           mep = afs_MemCacheOpen(tdc->f.inode);
+           afs_MemCacheTruncate(mep, 0);
+           afs_MemCacheClose(mep);
            afs_stats_cmperf.cacheCurrDirtyChunks--;
            afs_indexFlags[tdc->index] &= ~IFDataMod;    /* so it does disappear */
            ReleaseWriteLock(&tdc->lock);