diff options
Diffstat (limited to 'vendor/github.com/hashicorp/terraform/configs/configload/inode.go')
-rw-r--r-- | vendor/github.com/hashicorp/terraform/configs/configload/inode.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/terraform/configs/configload/inode.go b/vendor/github.com/hashicorp/terraform/configs/configload/inode.go new file mode 100644 index 0000000..57df041 --- /dev/null +++ b/vendor/github.com/hashicorp/terraform/configs/configload/inode.go | |||
@@ -0,0 +1,21 @@ | |||
1 | // +build linux darwin openbsd netbsd solaris dragonfly | ||
2 | |||
3 | package configload | ||
4 | |||
5 | import ( | ||
6 | "fmt" | ||
7 | "os" | ||
8 | "syscall" | ||
9 | ) | ||
10 | |||
11 | // lookup the inode of a file on posix systems | ||
12 | func inode(path string) (uint64, error) { | ||
13 | stat, err := os.Stat(path) | ||
14 | if err != nil { | ||
15 | return 0, err | ||
16 | } | ||
17 | if st, ok := stat.Sys().(*syscall.Stat_t); ok { | ||
18 | return st.Ino, nil | ||
19 | } | ||
20 | return 0, fmt.Errorf("could not determine file inode") | ||
21 | } | ||