diff options
| author | Chris Lu <chris.lu@gmail.com> | 2018-05-12 22:42:28 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2018-05-12 22:42:28 -0700 |
| commit | fc7f81f6e7b596ad4f1246a727408f4cbdaa8f88 (patch) | |
| tree | c7d4e6dd9557b0f68b1263e0aadae32b939ae13a | |
| parent | 9ecbf92569911abc6d95bc86e133326845b6b005 (diff) | |
| download | seaweedfs-fc7f81f6e7b596ad4f1246a727408f4cbdaa8f88.tar.xz seaweedfs-fc7f81f6e7b596ad4f1246a727408f4cbdaa8f88.zip | |
remove nlink property from directory node
| -rw-r--r-- | weed/filer2/filer.go | 4 | ||||
| -rw-r--r-- | weed/filer2/filer_structure.go | 2 | ||||
| -rw-r--r-- | weed/filer2/memdb/memdb_store.go | 5 | ||||
| -rw-r--r-- | weed/filer2/memdb/memdb_store_test.go | 11 |
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 + } + } |
