From 0613779a7812583ee145e951b6b027e2cb2771bd Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Thu, 28 May 2015 14:47:24 +0900 Subject: [PATCH] Cleanup --- database.go | 17 +++++++++-------- dir.go | 2 +- file.go | 2 +- version.go | 10 ++-------- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/database.go b/database.go index d4838ab..b611b62 100644 --- a/database.go +++ b/database.go @@ -36,10 +36,11 @@ import ( "time" ) +var inodeCnt uint64 + type database struct { - base string - vers []*version - inodeCnt uint64 + base string + vers []*version } func newDatabase(dir string) (*database, error) { @@ -94,7 +95,7 @@ func (this *database) buildVersions(base string, names []string) ([]*version, er return nil, err } - ver, err := newVersion(path.Join(base, name), timestamp, this, parent) + ver, err := newVersion(path.Join(base, name), timestamp, parent) if err != nil { return nil, err } @@ -152,10 +153,6 @@ func (this *database) Root() (fs.Node, error) { return this.lastVersion().root, nil } -func (this *database) AllocInode() uint64 { - return atomic.AddUint64(&this.inodeCnt, 1) -} - func (this *database) buildVerName(timestamp time.Time) string { return fmt.Sprintf("ver_%.16x", timestamp.Unix()) } @@ -178,3 +175,7 @@ func (this *database) parseVerName(name string) (time.Time, error) { return time.Unix(timestamp, 0), nil } + +func allocInode() uint64 { + return atomic.AddUint64(&inodeCnt, 1) +} diff --git a/dir.go b/dir.go index 84fb681..da074ee 100644 --- a/dir.go +++ b/dir.go @@ -43,7 +43,7 @@ func newVersionedDir(node *versionedNode, parent *versionedDir) *versionedDir { dirs: make(map[string]*versionedDir), files: make(map[string]*versionedFile), node: node, - inode: node.ver.inodeAloc.AllocInode(), + inode: allocInode(), parent: parent} } diff --git a/file.go b/file.go index f55f8f9..0aa4e5d 100644 --- a/file.go +++ b/file.go @@ -40,7 +40,7 @@ type versionedFile struct { func newVersionedFile(node *versionedNode, parent *versionedDir) *versionedFile { return &versionedFile{ node: node, - inode: node.ver.inodeAloc.AllocInode(), + inode: allocInode(), parent: parent} } diff --git a/version.go b/version.go index 212bbca..a754e4a 100644 --- a/version.go +++ b/version.go @@ -39,14 +39,9 @@ type version struct { timestamp time.Time meta *versionMetadata root *versionedDir - inodeAloc InodeAllocator } -type InodeAllocator interface { - AllocInode() uint64 -} - -func newVersion(base string, timestamp time.Time, allocator InodeAllocator, parent *version) (*version, error) { +func newVersion(base string, timestamp time.Time, parent *version) (*version, error) { meta, err := newVersionMetadata(filepath.Join(base, "meta.json")) if err != nil { return nil, err @@ -56,8 +51,7 @@ func newVersion(base string, timestamp time.Time, allocator InodeAllocator, pare base: base, parent: parent, timestamp: timestamp, - meta: meta, - inodeAloc: allocator} + meta: meta} return ver, nil }