From 543e49eaaea2290c4239dd79864384f11adb2607 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Mon, 3 Oct 2005 03:54:44 +0000 Subject: [PATCH] memcache-set-default-write-size-20051002 based on comment from chas williams. set the default write amount as is done for ufs cache writes --- src/afs/VNOPS/afs_vnop_write.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/afs/VNOPS/afs_vnop_write.c b/src/afs/VNOPS/afs_vnop_write.c index ed1ee645f..4a7a4b3cd 100644 --- a/src/afs/VNOPS/afs_vnop_write.c +++ b/src/afs/VNOPS/afs_vnop_write.c @@ -186,12 +186,13 @@ afs_MemWrite(register struct vcache *avc, struct uio *auio, int aio, avc->states |= CDirty; tvec = (struct iovec *)osi_AllocSmallSpace(sizeof(struct iovec)); while (totalLength > 0) { - /* Read the cached info. If we call GetDCache while the cache - * truncate daemon is running we risk overflowing the disk cache. - * Instead we check for an existing cache slot. If we cannot - * find an existing slot we wait for the cache to drain - * before calling GetDCache. + /* + * The following line is necessary because afs_GetDCache with + * flag == 4 expects the length field to be filled. It decides + * from this whether it's necessary to fetch data into the chunk + * before writing or not (when the whole chunk is overwritten!). */ + len = totalLength; /* write this amount by default */ if (noLock) { tdc = afs_FindDCache(avc, filePos); if (tdc) -- 2.39.5