diff options
Diffstat (limited to 'weed/filer')
| -rw-r--r-- | weed/filer/entry.go | 1 | ||||
| -rw-r--r-- | weed/filer/entry_codec.go | 2 | ||||
| -rw-r--r-- | weed/filer/filer_delete_entry.go | 2 | ||||
| -rw-r--r-- | weed/filer/filer_hardlink.go | 16 |
4 files changed, 19 insertions, 2 deletions
diff --git a/weed/filer/entry.go b/weed/filer/entry.go index 23eb2091b..ddb339bfb 100644 --- a/weed/filer/entry.go +++ b/weed/filer/entry.go @@ -25,6 +25,7 @@ type Attr struct { Md5 []byte FileSize uint64 Rdev uint32 + Inode uint64 } func (attr Attr) IsDirectory() bool { diff --git a/weed/filer/entry_codec.go b/weed/filer/entry_codec.go index ddbb5b08c..683e83cde 100644 --- a/weed/filer/entry_codec.go +++ b/weed/filer/entry_codec.go @@ -49,6 +49,7 @@ func EntryAttributeToPb(entry *Entry) *filer_pb.FuseAttributes { Md5: entry.Attr.Md5, FileSize: entry.Attr.FileSize, Rdev: entry.Attr.Rdev, + Inode: entry.Attr.Inode, } } @@ -76,6 +77,7 @@ func PbToEntryAttribute(attr *filer_pb.FuseAttributes) Attr { t.Md5 = attr.Md5 t.FileSize = attr.FileSize t.Rdev = attr.Rdev + t.Inode = attr.Inode return t } diff --git a/weed/filer/filer_delete_entry.go b/weed/filer/filer_delete_entry.go index bda69b15f..425da7cea 100644 --- a/weed/filer/filer_delete_entry.go +++ b/weed/filer/filer_delete_entry.go @@ -9,8 +9,6 @@ import ( "github.com/chrislusf/seaweedfs/weed/util" ) -type HardLinkId []byte - const ( MsgFailDelNonEmptyFolder = "fail to delete non-empty folder" ) diff --git a/weed/filer/filer_hardlink.go b/weed/filer/filer_hardlink.go new file mode 100644 index 000000000..7a91602fd --- /dev/null +++ b/weed/filer/filer_hardlink.go @@ -0,0 +1,16 @@ +package filer + +import ( + "github.com/chrislusf/seaweedfs/weed/util" +) + +const ( + HARD_LINK_MARKER = '\x01' +) + +type HardLinkId []byte // 16 bytes + 1 marker byte + +func NewHardLinkId() HardLinkId { + bytes := append(util.RandomBytes(16), HARD_LINK_MARKER) + return bytes +} |
