and no disk cache configured.
StoreEntry::abort() makes entry STORE_OK, which makes
storeClientNoMoreToSend() return false for entries with unknown objectLen(),
triggering a disk read for some of them (when store_client::doCopy() cannot
schedule a memory read). If the entry is not really on disk, we hit an
assertion in store_client::scheduleDiskRead().
* do have more data to send. If its STORE_OK, then
* we continue checking. If the object length is negative, then we
* don't know the real length and must open the swap file to find out.
+ * However, if there is no swap file, then there is no more to send.
* If the length is >= 0, then we compare it to the requested copy
* offset.
*/
return 0;
if ((len = e->objectLen()) < 0)
- return 0;
+ return e->swap_filen < 0;
if (sc->copyInto.offset < len)
return 0;