wessels [Fri, 20 Jun 1997 06:00:10 +0000 (06:00 +0000)]
- memCopy needs to return a signed value to report errors, so we need
to have 'ssize_t'
- Fixed FTP end-of-transfer confusion
- Rearranged assertions in icpSendMoreData to account for STORE_ABORT
wessels [Wed, 18 Jun 1997 22:15:53 +0000 (22:15 +0000)]
Put storeDeleteBehind() call before storeCopy callback. Apparently
invoking the callback may release the StoreEntry, so either we need
to lock it or do the delete behind first.
wessels [Wed, 18 Jun 1997 09:06:22 +0000 (09:06 +0000)]
remove assertion from store rebuild code. A swap log entry might be
"newer" if we're in a slow rebuild. In that case the swap log entry
should be ignored, assuming the existing entry was added during the
rebuild.
wessels [Wed, 18 Jun 1997 06:19:50 +0000 (06:19 +0000)]
Junk the 'callback_meta' idea
Now use a hash table of callback datas. A callback pointer is added when
the data is created, then callback functions lock and unlock it while
waiting for the operation to complete.
wessels [Wed, 18 Jun 1997 00:04:46 +0000 (00:04 +0000)]
The 'int status' arg of validate callbacks seems unused, nuke it
In storeCleanup(), skip entries which are already validated, or which
are pending for release
Lock/Unlock objects during validation
set RELEASE_REQUEST flag if delaying release because of store rebuild
wessels [Wed, 4 Jun 1997 02:09:45 +0000 (02:09 +0000)]
got a coredump from storeAbort because ping_status == PING_WAITING.
I'm not sure why its bad to abort an object in that state, so that
check has been commented out. Also I don't think its necessary to
set ENTRY_DISPATCHED anymore; there should be other checks in place
for aborted entries. Also changed a bunch of debug_trap()'s to
assertions.
wessels [Wed, 4 Jun 1997 02:08:22 +0000 (02:08 +0000)]
There were a couple of situations where we create new request_t structures
that didn't have the headers buf from the original request. Fix was to
give httpBuildRequestHeader() one fewer argument because the headers
will be attached to the 'orig_request' arg anyway.
wessels [Mon, 2 Jun 1997 07:06:09 +0000 (07:06 +0000)]
- finish moving mem_obj->req_hdr to request->headers.
- Misc debug cleanup
- Changed store_rebuilding/store_validating duality. Now store_rebuilding
is set until validation finishes.
wessels [Sat, 24 May 1997 01:48:06 +0000 (01:48 +0000)]
- the global 'store_rebuilding' is now a boolean. The clean/dirty indication
is associated with the individual swap directories.
- This fixes entries from a clean rebuild getting marked as not VALIDATED.
- storeSwapInCheck() was broken. Moved it back into storeSwapInStart().
wessels [Fri, 23 May 1997 04:53:59 +0000 (04:53 +0000)]
Need two offsets in the storeClientCopy stuff. The lower offset is
represents the amount of data the client has seen and successfully
dealt with. The upper offset represents data we have seen, but not dealt
with. For example, incomplete HTTP reply headers.
wessels [Thu, 22 May 1997 21:51:50 +0000 (21:51 +0000)]
Merging in NOVM diffs. Making functions NOVM compatible.
Big change is nuking storeRegister() and having storeClientCopy()
do the same thing. storeClientCopy fills a buffer passed in from
the caller and makes a callback when there is data in the buffer.
wessels [Fri, 16 May 1997 06:19:30 +0000 (06:19 +0000)]
fix swapfileno wierdness with 'SwapOutStartComplete', just set
e->swap_file_number instead of using some intermediate variable.
Remove storeDescribeStatus()
Make storeSwapInStart() global
Simplify storeLockObject(); make someone call storeSwapInStart() if
thats what they want.
wessels [Fri, 16 May 1997 05:37:58 +0000 (05:37 +0000)]
Make the fooStart() functions all void
Since storeLockObject no longer does swapping in, we don't need to split
fooStart() into two functions separated by the swappin callback.
wessels [Fri, 16 May 1997 05:35:59 +0000 (05:35 +0000)]
Dont' flush write buffers on write error, UNLESS there is no callback handler.
The callback should check the status return code and take necessary measures,
the disk module will keep the data queued.
I'm pretty sure we don't need to seek on disk files since they are only
open for reading or writing, never both.
Remove all seek calls
Remove FD_AT_EOF wierdness
Remove wierd dread_ctrl->cur_len member