From d76e7aadb48e5efd6af6ad42e9146f65f8e89fb8 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Wed, 21 Sep 2016 21:25:55 +0200 Subject: reverse: use dynamic inode numbers ...with stable mappings for hard-linked files. --- internal/fusefrontend_reverse/ino_map.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 internal/fusefrontend_reverse/ino_map.go (limited to 'internal/fusefrontend_reverse/ino_map.go') diff --git a/internal/fusefrontend_reverse/ino_map.go b/internal/fusefrontend_reverse/ino_map.go new file mode 100644 index 0000000..5217732 --- /dev/null +++ b/internal/fusefrontend_reverse/ino_map.go @@ -0,0 +1,24 @@ +package fusefrontend_reverse + +import ( + "sync/atomic" +) + +func NewInoGen() *inoGenT { + var ino uint64 = 1 + return &inoGenT{&ino} +} + +type inoGenT struct { + ino *uint64 +} + +// Get the next inode counter value +func (i *inoGenT) next() uint64 { + return atomic.AddUint64(i.ino, 1) +} + +type devIno struct { + dev uint64 + ino uint64 +} -- cgit v1.2.3