]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 3150: do not start useless unlinkd.
authorDmitry Kurochkin <dmitry.kurochkin@measurement-factory.com>
Thu, 27 Oct 2011 23:14:28 +0000 (17:14 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Thu, 27 Oct 2011 23:14:28 +0000 (17:14 -0600)
commitc521ad17dc07ce641e345555b991a03d4ed8beae
tree9e2ddde475d3b8263be898a324636a362ec65b53
parent1e6143704d1e1cc94127748e2227956d86c5a844
Bug 3150: do not start useless unlinkd.

Unlinkd may be used only by UFS storage but, before the change, Squid
always started unlinkd if it was built, even if it was not needed.

Whether a SwapDir may use unlinkd depends on the SwapDir
implementation and DiskIO strategy it uses.  The patch adds
unlinkdUseful() method to SwapDir and DiskIOStrategy to decide if
unlinkd should be started.

After the change, unlinkd may be started during reconfiguration and
unlinkdInit() may be called multiple times.

After the change, unlinkdClose() may be called when unlinkd was never
started.  The patch removes a warning which was printed in this case
on Windows.
25 files changed:
src/DiskIO/AIO/AIODiskIOStrategy.cc
src/DiskIO/AIO/AIODiskIOStrategy.h
src/DiskIO/Blocking/BlockingIOStrategy.cc
src/DiskIO/Blocking/BlockingIOStrategy.h
src/DiskIO/DiskDaemon/DiskdIOStrategy.cc
src/DiskIO/DiskDaemon/DiskdIOStrategy.h
src/DiskIO/DiskIOStrategy.h
src/DiskIO/DiskThreads/DiskThreadsIOStrategy.cc
src/DiskIO/DiskThreads/DiskThreadsIOStrategy.h
src/DiskIO/IpcIo/IpcIoIOStrategy.cc
src/DiskIO/IpcIo/IpcIoIOStrategy.h
src/DiskIO/Mmapped/MmappedIOStrategy.cc
src/DiskIO/Mmapped/MmappedIOStrategy.h
src/SwapDir.h
src/fs/coss/CossSwapDir.h
src/fs/coss/store_io_coss.cc
src/fs/rock/RockSwapDir.cc
src/fs/rock/RockSwapDir.h
src/fs/ufs/store_dir_ufs.cc
src/fs/ufs/ufscommon.h
src/main.cc
src/protos.h
src/tests/TestSwapDir.cc
src/tests/TestSwapDir.h
src/unlinkd.cc