mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-11-28 21:39:02 +08:00
remove nlink property from directory node
This commit is contained in:
parent
9ecbf92569
commit
fc7f81f6e7
@ -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
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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 {
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user