From: Amos Jeffries Date: Sun, 26 Jul 2009 10:59:03 +0000 (+1200) Subject: Author: Henrik Nordstrom X-Git-Tag: SQUID_3_0_STABLE17~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5991d7136afc7de0a5c1d0fa61638559a19a3620;p=thirdparty%2Fsquid.git Author: Henrik Nordstrom 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. --- diff --git a/src/fs/ufs/store_io_ufs.cc b/src/fs/ufs/store_io_ufs.cc index 85d435df1f..05474fe8c5 100644 --- a/src/fs/ufs/store_io_ufs.cc +++ b/src/fs/ufs/store_io_ufs.cc @@ -363,17 +363,10 @@ UFSStoreState::writeCompleted(int errflag, size_t len, RefCount 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