add default root directory

This commit is contained in:
Chris Lu 2018-12-02 19:42:50 -08:00
parent 4263805c78
commit db22666a30
2 changed files with 42 additions and 0 deletions

View file

@ -14,6 +14,11 @@ import (
"github.com/karlseguin/ccache"
)
var (
OS_UID = uint32(os.Getuid())
OS_GID = uint32(os.Getgid())
)
type Filer struct {
store FilerStore
directoryCache *ccache.Cache
@ -157,6 +162,21 @@ func (f *Filer) UpdateEntry(oldEntry, entry *Entry) (err error) {
}
func (f *Filer) FindEntry(p FullPath) (entry *Entry, err error) {
now := time.Now()
if string(p) == "/" {
return &Entry{
FullPath: p,
Attr: Attr{
Mtime: now,
Crtime: now,
Mode: os.ModeDir | 0777,
Uid: OS_UID,
Gid: OS_GID,
},
}, nil
}
return f.store.FindEntry(p)
}

View file

@ -59,3 +59,25 @@ func TestCreateAndFind(t *testing.T) {
}
}
func TestEmptyRoot(t *testing.T) {
filer := filer2.NewFiler(nil)
dir, _ := ioutil.TempDir("", "seaweedfs_filer_test2")
defer os.RemoveAll(dir)
store := &LevelDBStore{}
store.initialize(dir)
filer.SetStore(store)
filer.DisableDirectoryCache()
// checking one upper directory
entries, err := filer.ListDirectoryEntries(filer2.FullPath("/"), "", false, 100)
if err != nil {
t.Errorf("list entries: %v", err)
return
}
if len(entries) != 0 {
t.Errorf("list entries count: %v", len(entries))
return
}
}