add default root directory
This commit is contained in:
@@ -14,6 +14,11 @@ import (
|
|||||||
"github.com/karlseguin/ccache"
|
"github.com/karlseguin/ccache"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
OS_UID = uint32(os.Getuid())
|
||||||
|
OS_GID = uint32(os.Getgid())
|
||||||
|
)
|
||||||
|
|
||||||
type Filer struct {
|
type Filer struct {
|
||||||
store FilerStore
|
store FilerStore
|
||||||
directoryCache *ccache.Cache
|
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) {
|
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)
|
return f.store.FindEntry(p)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user