Index header: num_entries: 8 num_bytes: 52 this_id: 1 table_len: 64k head: 0x90000004 tail: 0x90000000 Address: 0xa0010007 Address: 0xa0010003 Address: 0xa001000b Address: 0xa001000a Address: 0xa0010009 Address: 0xa0010006 Address: 0xa0010005 Address: 0xa0010002 ------------------------------- entry: Address: 0xa0010007 hash: 0xcb30d119 next: 0 rankings_node: 0x90000004 key_len: 5 long_key: 0 data_size[0]: 4 data_addr[0]: 0xa0010008 key: "fifth" rankings: Address: 0x90000004 next: 0x90000001 prev: 0x90000004 contents: 0xa0010007 dirty: 0 pointer: 0 ------------------------------- entry: Address: 0xa0010003 hash: 0x090fbce3 next: 0 rankings_node: 0x90000001 key_len: 6 long_key: 0 data_size[0]: 4 data_addr[0]: 0xa0010004 key: "second" rankings: Address: 0x90000001 next: 0x90000007 prev: 0x90000004 contents: 0xa0010003 dirty: 0 pointer: 0 ------------------------------- entry: Address: 0xa001000b hash: 0xad80b702 next: 0 rankings_node: 0x90000007 key_len: 5 long_key: 0 data_size: 0's data_addr: 0's key: "eight" rankings: Address: 0x90000007 next: 0x90000006 prev: 0x90000001 contents: 0xa001000b dirty: 0 pointer: 0 ------------------------------- entry: Address: 0xa001000a hash: 0xfdae1d2a next: 0 rankings_node: 0x90000006 key_len: 7 long_key: 0 data_size: 0's data_addr: 0's key: "seventh" rankings: Address: 0x90000006 next: 0x90000005 prev: 0x90000007 contents: 0xa001000a dirty: 0 pointer: 0 ------------------------------- entry: Address: 0xa0010009 hash: 0x2129e026 next: 0 rankings_node: 0x90000005 key_len: 5 long_key: 0 data_size: 0's data_addr: 0's key: "sixth" rankings: Address: 0x90000005 next: 0x90000003 prev: 0x90000006 contents: 0xa0010009 dirty: 0 pointer: 0 ------------------------------- entry: Address: 0xa0010006 hash: 0x3d9011cc next: 0 rankings_node: 0x90000003 key_len: 6 long_key: 0 data_size: 0's data_addr: 0's key: "fourth" rankings: Address: 0x90000003 next: 0x90000002 prev: 0x90000005 contents: 0xa0010006 dirty: 0 pointer: 0 ------------------------------- entry: Address: 0xa0010005 hash: 0x8f04b77c next: 0 rankings_node: 0x90000002 key_len: 5 long_key: 0 data_size: 0's data_addr: 0's key: "third" rankings: Address: 0x90000002 next: 0x90000001 <--------- wrong prev: 0x90000003 contents: 0xa0010005 dirty: 0 pointer: 0 ------------------------------- entry: Address: 0xa0010002 hash: 0x0138974a next: 0 rankings_node: 0x90000000 key_len: 5 long_key: 0 data_size: 0's data_addr: 0's key: "first" rankings: Address: 0x90000000 next: 0x90000000 prev: 0x90000002 contents: 0xa0010002 dirty: 0 pointer: 0 ============================== Generated with: disk_cache::Entry *entry; ASSERT_TRUE(cache_->CreateEntry("first", &entry)); entry->Close(); char buffer[] = "abcd"; ASSERT_TRUE(cache_->CreateEntry("second", &entry)); entry->WriteData(0, 0, buffer, 4, NULL, false); entry->Close(); ASSERT_TRUE(cache_->CreateEntry("third", &entry)); entry->Close(); ASSERT_TRUE(cache_->CreateEntry("fourth", &entry)); entry->Close(); ASSERT_TRUE(cache_->CreateEntry("fifth", &entry)); entry->WriteData(0, 0, buffer, 4, NULL, false); entry->Close(); ASSERT_TRUE(cache_->CreateEntry("sixth", &entry)); entry->Close(); ASSERT_TRUE(cache_->CreateEntry("seventh", &entry)); entry->Close(); ASSERT_TRUE(cache_->CreateEntry("eight", &entry)); entry->Close(); ASSERT_TRUE(cache_->OpenEntry("second", &entry)); entry->ReadData(0, 0, buffer, 4, NULL); <--- fix the values* entry->Close(); ASSERT_TRUE(cache_->OpenEntry("fifth", &entry)); entry->ReadData(0, 0, buffer, 4, NULL); entry->Close(); * break on Rankings::Remove() and edit the values before they are saved.