From c4162e431409f3adb94becfa704f0c2ff6b95f24 Mon Sep 17 00:00:00 2001 From: SweetMnM Date: Fri, 11 Nov 2022 01:27:23 +0000 Subject: [PATCH] fix file identifier for darwin --- hardlinkfilemap/fileidentifier_darwin.go | 17 +++++++++++++++++ ...entifier_unix.go => fileidentifier_linux.go} | 2 -- hardlinkfilemap/hardlinkfilemap.go | 4 ---- 3 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 hardlinkfilemap/fileidentifier_darwin.go rename hardlinkfilemap/{fileidentifier_unix.go => fileidentifier_linux.go} (91%) diff --git a/hardlinkfilemap/fileidentifier_darwin.go b/hardlinkfilemap/fileidentifier_darwin.go new file mode 100644 index 0000000..c4152ce --- /dev/null +++ b/hardlinkfilemap/fileidentifier_darwin.go @@ -0,0 +1,17 @@ +package hardlinkfilemap + +import ( + "errors" + "os" + "strconv" + "syscall" +) + +func FileIdentifier(fi os.FileInfo) (string, error) { + sys, ok := fi.Sys().(*syscall.Stat_t) + if !ok { + return "", errors.New("failed to get file identifier") + } + + return strconv.FormatInt(int64(sys.Dev), 10) + "|" + strconv.FormatUint(sys.Ino, 10), nil +} diff --git a/hardlinkfilemap/fileidentifier_unix.go b/hardlinkfilemap/fileidentifier_linux.go similarity index 91% rename from hardlinkfilemap/fileidentifier_unix.go rename to hardlinkfilemap/fileidentifier_linux.go index 4c3fa24..3fabe2c 100644 --- a/hardlinkfilemap/fileidentifier_unix.go +++ b/hardlinkfilemap/fileidentifier_linux.go @@ -1,5 +1,3 @@ -//go:build !windows && !plan9 - package hardlinkfilemap import ( diff --git a/hardlinkfilemap/hardlinkfilemap.go b/hardlinkfilemap/hardlinkfilemap.go index c571f95..dfba993 100644 --- a/hardlinkfilemap/hardlinkfilemap.go +++ b/hardlinkfilemap/hardlinkfilemap.go @@ -107,10 +107,6 @@ func (t *HardlinkFileMap) IsTorrentUnique(torrent config.Torrent) bool { return false } - t.log.Infof("File: %s - ID: %s", f, id) - // preview the file id entry - t.log.Infof("File ID Entry: %v", t.hardlinkFileMap[id]) - if paths, exists := t.hardlinkFileMap[id]; exists && len(paths) > 1 { return false }