Skip to content

Commit

Permalink
Finish tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
klauspost committed Mar 2, 2020
1 parent 4d1e212 commit 277d7b3
Show file tree
Hide file tree
Showing 3 changed files with 341 additions and 32 deletions.
21 changes: 11 additions & 10 deletions cmd/data-usage.go
Expand Up @@ -21,7 +21,6 @@ import (
"context"
"encoding/json"
"errors"
"fmt"
"os"
"path"
"path/filepath"
Expand Down Expand Up @@ -258,14 +257,14 @@ func (f *folderScanner) scanQueuedLevels(ctx context.Context, folders []cachedFo
if err != nil {
return nil, err
}
fmt.Println("Adding", path.Clean(folder.name), thisHash, cache)
//fmt.Println("Adding", path.Clean(folder.name), thisHash, cache)
f.newCache.addHashed(thisHash, folder.parent, cache)
}
return nextFolders, nil
}

func (f *folderScanner) deepScanFolder(ctx context.Context, folder string) (*dataUsageEntry, error) {
fmt.Println("deepScanFolder:", folder)
//fmt.Println("deepScanFolder:", folder)
var cache dataUsageEntry
delayMult := 10.0
if mult := os.Getenv(dataUsageTimeMultEnv); mult != "" {
Expand All @@ -279,7 +278,7 @@ func (f *folderScanner) deepScanFolder(ctx context.Context, folder string) (*dat
var dirStack = []string{f.root, folder}

addDir = func(entName string, typ os.FileMode) error {
fmt.Println("addDir:", entName)
//fmt.Println("addDir:", entName)
select {
case <-done:
return ctx.Err()
Expand Down Expand Up @@ -321,6 +320,8 @@ func (f *folderScanner) deepScanFolder(ctx context.Context, folder string) (*dat
return &cache, nil
}

const updateDirCycles = 16

func updateUsage(ctx context.Context, basePath string, cache dataUsageCache, waitForLowActiveIO func(), getSize getSizeFn) (dataUsageCache, error) {
if cache.Info.Name == "" {
cache.Info.Name = "/"
Expand All @@ -335,8 +336,6 @@ func updateUsage(ctx context.Context, basePath string, cache dataUsageCache, wai
existingFolders: nil,
}

const updateCycles = 16

done := ctx.Done()
const flattenLevels = 2
// Add root
Expand All @@ -353,10 +352,10 @@ func updateUsage(ctx context.Context, basePath string, cache dataUsageCache, wai
// No useful information...
return cache, err
}
fmt.Println("todo:", todo)
//fmt.Println("todo", todo)
}

fmt.Println("new folders", s.newFolders)
//fmt.Println("new folders", s.newFolders)
// Add add new folders first
for _, folder := range s.newFolders {
select {
Expand All @@ -381,7 +380,7 @@ func updateUsage(ctx context.Context, basePath string, cache dataUsageCache, wai
}
}

fmt.Println("existing folders", s.existingFolders)
//fmt.Println("existing folders", s.existingFolders)

// Do selective scanning of existing folders.
for _, folder := range s.existingFolders {
Expand All @@ -391,10 +390,12 @@ func updateUsage(ctx context.Context, basePath string, cache dataUsageCache, wai
default:
}
h := stringHash(folder.name)
if !h.mod(s.oldCache.Info.NextCycle, updateCycles) {
if !h.mod(s.oldCache.Info.NextCycle, updateDirCycles) {
s.newCache.addHashed(h, folder.parent, s.oldCache.Cache[h])
//fmt.Println("skipping", folder.name)
continue
}
//fmt.Println("reindexing", folder.name)

// Update on this cycle...
du, err := s.deepScanFolder(ctx, folder.name)
Expand Down

0 comments on commit 277d7b3

Please sign in to comment.