aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2018-05-12 22:42:28 -0700
committerChris Lu <chris.lu@gmail.com>2018-05-12 22:42:28 -0700
commitfc7f81f6e7b596ad4f1246a727408f4cbdaa8f88 (patch)
treec7d4e6dd9557b0f68b1263e0aadae32b939ae13a
parent9ecbf92569911abc6d95bc86e133326845b6b005 (diff)
downloadseaweedfs-fc7f81f6e7b596ad4f1246a727408f4cbdaa8f88.tar.xz
seaweedfs-fc7f81f6e7b596ad4f1246a727408f4cbdaa8f88.zip
remove nlink property from directory node
-rw-r--r--weed/filer2/filer.go4
-rw-r--r--weed/filer2/filer_structure.go2
-rw-r--r--weed/filer2/memdb/memdb_store.go5
-rw-r--r--weed/filer2/memdb/memdb_store_test.go11
4 files changed, 10 insertions, 12 deletions
diff --git a/weed/filer2/filer.go b/weed/filer2/filer.go
index 848e87b2d..39be69d3a 100644
--- a/weed/filer2/filer.go
+++ b/weed/filer2/filer.go
@@ -71,7 +71,6 @@ func (f *Filer) CreateEntry(entry *Entry) (error) {
Mode: os.ModeDir | 0660,
Uid: entry.Uid,
Gid: entry.Gid,
- Nlink: 2,
},
}
@@ -102,9 +101,6 @@ func (f *Filer) CreateEntry(entry *Entry) (error) {
if err := f.store.InsertEntry(entry); err != nil {
return fmt.Errorf("insert entry %s: %v", entry.FullPath, err)
}
- if err := f.store.AddDirectoryLink(lastDirectoryEntry, 1); err != nil {
- return fmt.Errorf("insert entry %s: %v", entry.FullPath, err)
- }
return nil
}
diff --git a/weed/filer2/filer_structure.go b/weed/filer2/filer_structure.go
index 2aa3d44d2..c78704184 100644
--- a/weed/filer2/filer_structure.go
+++ b/weed/filer2/filer_structure.go
@@ -28,7 +28,6 @@ type Attr struct {
Uid uint32 // owner uid
Gid uint32 // group gid
Size uint64 // total size in bytes
- Nlink uint32 // number of links (usually 1)
}
type Entry struct {
@@ -60,7 +59,6 @@ var ErrNotFound = errors.New("filer: no entry is found in filer store")
type FilerStore interface {
InsertEntry(*Entry) (error)
- AddDirectoryLink(directory *Entry, delta int32) (err error)
AppendFileChunk(FullPath, FileChunk) (err error)
FindEntry(FullPath) (found bool, entry *Entry, err error)
DeleteEntry(FullPath) (fileEntry *Entry, err error)
diff --git a/weed/filer2/memdb/memdb_store.go b/weed/filer2/memdb/memdb_store.go
index 6925aacfb..5a72b7cf9 100644
--- a/weed/filer2/memdb/memdb_store.go
+++ b/weed/filer2/memdb/memdb_store.go
@@ -31,11 +31,6 @@ func (filer *MemDbStore) InsertEntry(entry *filer2.Entry) (err error) {
return nil
}
-func (filer *MemDbStore) AddDirectoryLink(directory *filer2.Entry, delta int32) (err error) {
- directory.Nlink = uint32(int32(directory.Nlink) + delta)
- return nil
-}
-
func (filer *MemDbStore) AppendFileChunk(fullpath filer2.FullPath, fileChunk filer2.FileChunk) (err error) {
found, entry, err := filer.FindEntry(fullpath)
if !found {
diff --git a/weed/filer2/memdb/memdb_store_test.go b/weed/filer2/memdb/memdb_store_test.go
index b2587f3e2..9c7810d4d 100644
--- a/weed/filer2/memdb/memdb_store_test.go
+++ b/weed/filer2/memdb/memdb_store_test.go
@@ -101,8 +101,9 @@ func TestCreateFileAndList(t *testing.T) {
return
}
+ file3Path := filer2.FullPath("/home/chris/this/is/file3.jpg")
entry3 := &filer2.Entry{
- FullPath: filer2.FullPath("/home/chris/this/is/file3.jpg"),
+ FullPath: file3Path,
Attr: filer2.Attr{
Mode: 0440,
Uid: 1234,
@@ -118,4 +119,12 @@ func TestCreateFileAndList(t *testing.T) {
return
}
+ // delete file and count
+ filer.DeleteEntry(file3Path)
+ entries, _ = filer.ListDirectoryEntries(filer2.FullPath("/home/chris/this/is"))
+ if len(entries) != 1 {
+ t.Errorf("list entries count: %v", len(entries))
+ return
+ }
+
}