aboutsummaryrefslogtreecommitdiff
path: root/weed/filer/redis3/ItemList.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/filer/redis3/ItemList.go')
-rw-r--r--weed/filer/redis3/ItemList.go35
1 files changed, 22 insertions, 13 deletions
diff --git a/weed/filer/redis3/ItemList.go b/weed/filer/redis3/ItemList.go
index 14e306551..c576cbeb4 100644
--- a/weed/filer/redis3/ItemList.go
+++ b/weed/filer/redis3/ItemList.go
@@ -198,36 +198,45 @@ func (nl *ItemList) WriteName(name string) error {
/*
// case 1: exists in nextNode
-if nextNode != nil && nextNode.Key == name {
- remove from nextNode, update nextNode
- // TODO: merge with prevNode if possible?
- return
-}
+
+ if nextNode != nil && nextNode.Key == name {
+ remove from nextNode, update nextNode
+ // TODO: merge with prevNode if possible?
+ return
+ }
+
if nextNode is nil
+
prevNode = list.Largestnode
+
if prevNode == nil and nextNode.Prev != nil
+
prevNode = load(nextNode.Prev)
// case 2: does not exist
// case 2.1
-if prevNode == nil {
- return
-}
+
+ if prevNode == nil {
+ return
+ }
+
// case 2.2
-if prevNameBatch does not contain name {
- return
-}
+
+ if prevNameBatch does not contain name {
+ return
+ }
// case 3
delete from prevNameBatch
if prevNameBatch + nextNode < capacityList
+
// case 3.1
merge
+
else
+
// case 3.2
update prevNode
-
-
*/
func (nl *ItemList) DeleteName(name string) error {
lookupKey := []byte(name)