The unified diff between revisions [e6beb7c9..] and [eeec8cbf..] is displayed below. It can also be downloaded as a raw diff.
#
#
# patch "src/fs/coss/store_dir_coss.c"
# from [fb849ed24cdd3b4f19ee54a48d3d6d2ba24ba36c]
# to [bd31c1d0a49adf2f5f2d07cee7ff86633f9cac86]
#
============================================================
--- src/fs/coss/store_dir_coss.c fb849ed24cdd3b4f19ee54a48d3d6d2ba24ba36c
+++ src/fs/coss/store_dir_coss.c bd31c1d0a49adf2f5f2d07cee7ff86633f9cac86
@@ -194,6 +194,7 @@ storeCossRemove(SwapDir * sd, StoreEntry
{
CossInfo *cs = (CossInfo *) sd->fsdata;
int stripe;
+ //debug(1, 1) ("storeCossRemove: %x: %d/%d\n", e, (int) e->swap_dirn, (e) e->swap_filen);
CossIndexNode *coss_node = e->repl.data;
assert(e->swap_filen >= 0);
e->repl.data = NULL;
@@ -1130,8 +1131,9 @@ storeCoss_AddStoreEntry(RebuildState *rb
EBIT_CLR(ne->flags, ENTRY_VALIDATED);
storeHashInsert(ne, key); /* do it after we clear KEY_PRIVATE */
storeCossAdd(SD, ne, cs->rebuild.curstripe);
-
storeEntryDump(ne, 5);
+ assert(ne->repl.data != NULL);
+ assert(e->repl.data == NULL);
}
static void
@@ -1140,9 +1142,10 @@ storeCoss_DeleteStoreEntry(RebuildState
SwapDir *SD = rb->sd;
assert(rb->counts.objcount >= 0);
rb->counts.objcount--;
+ storeCossRemove(SD, e);
+ e->swap_filen = -1;
storeExpireNow(e);
storeReleaseRequest(e);
- storeCossRemove(SD, e);
storeRelease(e);
}