]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
authorAmos Jeffries <squid3@treenet.co.nz>
Sun, 26 Jul 2009 10:59:03 +0000 (22:59 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Sun, 26 Jul 2009 10:59:03 +0000 (22:59 +1200)
Kick any pending *ufs write/close operations alive when the previous write completes

When using uufs only part of the object got written out to the disk,
forgetting to write out the last butes and closing the file.
This should have been seen at least in in diskd as well even if it
for some reason did not seem to show up in simple tests.

src/fs/ufs/store_io_ufs.cc

index 85d435df1fa79a4fd32f33406db7f87de5e83fdb..05474fe8c50c18b70579eb554d5dc01ae225bb50 100644 (file)
@@ -363,17 +363,10 @@ UFSStoreState::writeCompleted(int errflag, size_t len, RefCount<WriteRequest> wr
     }
 
     /*
-     * DPW 2007-04-12
-     * I'm seeing disk files remain open under vanilla UFS storage
-     * because storeClose() gets called before the last write is
-     * complete.  I guess we have to check for the try_closing
-     * flag here.
+     * HNO 2009-07-24
+     * Kick any pending write/close operations alive
      */
-    if (flags.try_closing) {
-       debugs(72, 2, HERE << "UFSStoreState::writeCompleted" <<
-           " flags.try_closing is set");
-       tryClosing();
-    }
+    drainWriteQueue();
 }
 
 void