Superstitous people beware... its friday the 13th.
Changes to squid-1.2.beta15 (Feb 13, 1998):
NOTE: This version has changes which may cause all or part
of your cache to be lost. However, you can problably
save most of it by doing a slow restart. Specifically:
1. Kill the running squid-1.2.beta14 process; wait for it to
fully exit.
2. Remove all 'swap.state*' files, either in each cache_dir, or
as defined in your squid.conf
3. Start squid-1.2.beta15. The store will be rebuilt from the
existing swap files, reading the directories and opening
the files.
- Fixed some problems related to disk (and pipe) write error
handling. file_close() doesn't always close the file
immediately; i.e. when there are pending buffers to write.
StoreEntry->lock_count could become zero while a write is
pending, then bad things happen during the callback.
- The file_write() callback data must now be in the callback
database (cbdata). We now use the swapout_ctrl_t structure
for the callback data; it stays around for as long as we are
swapping out.
- Changed the way write errors are handled by diskHandleWrite.
If there is no callback function, now we exit with a fatal
message under the assumption that the file in question is a
log file or IPC pipe. Otherwise, we flush all the pending
write buffers (so we don't see multiple repeated write errors
from the same descriptor) and let the upper layer decide how
to handle the failure.
- Fixed storeDirWriteCleanLogs. A write failure was leaving
some empty swap.state files, even though it tells us that its
"not replacing the file." Don't flush/rename logs which we
have prematurely closed due to write failures, indiciated by
fd[dirn] == -1. Close these files LAST, not before
renaming.
- Fixed storeDirClean to clean directories in a more sensible
order, instead of the new "MONOTONIC" order for swap files.
- Merged fdstat.c functions into fd.c.
- Cleaned up some debugging sections. Some unrelated source
files were using the same section.
- Removed curly brackets from all cachemgr output.
- Removed unused filemap->last_file_number_allocated member.
- Removed unused fde->lifetime_data member.
- Fixed incorrectly applying htonl() on icp_common_t->shostid.
- Call setsid() before exec() in ipc.c so that child processes
don't receive SIGINT (etc) when running squid on a tty.
- Changed StoreEntry->object_len to ->swap_file_sz so we
can verify the disk file size at restart. Moved object_len
to MemObject->object_sz. Note object_sz is initialized
to -1. If object_sz < 0, then we need to open the swap
file and read the swap metadata.
- Changed store_client->mem to ->entry because we need
e->swap_file_sz to set mem->object_sz at swapin.
- Renamed storeSwapData structure to storeSwapLogData.
- Fixed storeGetNextFile to not increment d->dirn. Added
check for opendir() failure.
- Fixed storeRebuildStart to properly link the directory
list for storeRebuildfromDirectory mode.
- Added -S command line option to double-check store
consistency with disk files in storeCleanup().
- Fixed a problem with transactional logging. In many
cases we were adding the public cache key and then
logging a delete for the private key. This is worthless
because during rebuild we could not locate the previous
public-keyed entry. Now we assert that only public-keyed
entries can be logged to swap.state. storeSetPublicKey()
and storeSetPrivateKey() have been modified to log an
ADD or DEL when the key changes.
- Fixed storeDirClean bug. Needed to call
storeDirProperFileno() so the "dirn bits" get set.
- Fixed a storeRebuildFromDirectory bug. fullpath[] and
fullfilename[] were static to that function and did
not change when the "rebuild_dir" arg did. Moved these
buffers to the rebuild_dir structure.
- In storeRebuildFromSwapLog, we were calling storeRelease()
for cache key collisions. This only set the RELEASE_REQUEST
bit and did not clear the swap_file_number in the filemap or
in the StoreEntry, so the swap file could get unlinked later
when it was really released.
- Fixed FTP so that ';type=X' specifically sets the HTTP reply
content-type and content-encoding (Henrik Nordstrom).
- Removed 'icon_content_type' configuration option. Content
types now taken from mime.conf (Henrik Nordstrom).
- Added additional memory malloc tracing and memory leak
detection. Use --enable-xmalloc-debug-trace configure
option and -m command line option (Henrik Nordstrom).
Received on Tue Jul 29 2003 - 13:15:46 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:11:42 MST