]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Kick any pending *ufs write/close operations alive when the previous write completes
authorHenrik Nordstrom <henrik@henriknordstrom.net>
Fri, 24 Jul 2009 15:12:47 +0000 (17:12 +0200)
committerHenrik Nordstrom <henrik@henriknordstrom.net>
Fri, 24 Jul 2009 15:12:47 +0000 (17:12 +0200)
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.

Applies all the way down to 3.0.

src/fs/ufs/store_io_ufs.cc

index 488aa31fb583d663b2f386cbca135b4bcca0a65e..1f86970dee1d6cdd7ec4dee10d8f7574f99556aa 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