projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '9857-cwl-acceptlist-re' refs #9857
[arvados.git]
/
services
/
keepstore
/
volume_unix.go
diff --git
a/services/keepstore/volume_unix.go
b/services/keepstore/volume_unix.go
index edec048dfe5836701f821beefdc3d7b131777982..5982fb0484eae0a37ef09e24b9526492c5b0459f 100644
(file)
--- a/
services/keepstore/volume_unix.go
+++ b/
services/keepstore/volume_unix.go
@@
-138,9
+138,8
@@
func (v *UnixVolume) Touch(loc string) error {
return e
}
defer unlockfile(f)
return e
}
defer unlockfile(f)
- now := time.Now().Unix()
- utime := syscall.Utimbuf{now, now}
- return syscall.Utime(p, &utime)
+ ts := syscall.NsecToTimespec(time.Now().UnixNano())
+ return syscall.UtimesNano(p, []syscall.Timespec{ts, ts})
}
// Mtime returns the stored timestamp for the given locator.
}
// Mtime returns the stored timestamp for the given locator.
@@
-307,7
+306,7
@@
var blockFileRe = regexp.MustCompile(`^[0-9a-f]{32}$`)
// e4de7a2810f5554cd39b36d8ddb132ff+67108864 1388701136
//
func (v *UnixVolume) IndexTo(prefix string, w io.Writer) error {
// e4de7a2810f5554cd39b36d8ddb132ff+67108864 1388701136
//
func (v *UnixVolume) IndexTo(prefix string, w io.Writer) error {
- var lastErr error
= nil
+ var lastErr error
rootdir, err := os.Open(v.root)
if err != nil {
return err
rootdir, err := os.Open(v.root)
if err != nil {
return err
@@
-353,7
+352,7
@@
func (v *UnixVolume) IndexTo(prefix string, w io.Writer) error {
_, err = fmt.Fprint(w,
name,
"+", fileInfo[0].Size(),
_, err = fmt.Fprint(w,
name,
"+", fileInfo[0].Size(),
- " ", fileInfo[0].ModTime().Unix(),
+ " ", fileInfo[0].ModTime().Unix
Nano
(),
"\n")
}
blockdir.Close()
"\n")
}
blockdir.Close()
@@
-398,10
+397,8
@@
func (v *UnixVolume) Trash(loc string) error {
// anyway (because the permission signatures have expired).
if fi, err := os.Stat(p); err != nil {
return err
// anyway (because the permission signatures have expired).
if fi, err := os.Stat(p); err != nil {
return err
- } else {
- if time.Since(fi.ModTime()) < blobSignatureTTL {
- return nil
- }
+ } else if time.Since(fi.ModTime()) < blobSignatureTTL {
+ return nil
}
if trashLifetime == 0 {
}
if trashLifetime == 0 {
@@
-507,11
+504,14
@@
func (v *UnixVolume) String() string {
return fmt.Sprintf("[UnixVolume %s]", v.root)
}
return fmt.Sprintf("[UnixVolume %s]", v.root)
}
-// Writable returns false if all future Put, Mtime, and Delete calls are expected to fail.
+// Writable returns false if all future Put, Mtime, and Delete calls
+// are expected to fail.
func (v *UnixVolume) Writable() bool {
return !v.readonly
}
func (v *UnixVolume) Writable() bool {
return !v.readonly
}
+// Replication returns the number of replicas promised by the
+// underlying device (currently assumed to be 1).
func (v *UnixVolume) Replication() int {
return 1
}
func (v *UnixVolume) Replication() int {
return 1
}
@@
-538,7
+538,7
@@
func (v *UnixVolume) translateError(err error) error {
}
}
}
}
-var
t
rashLocRegexp = regexp.MustCompile(`/([0-9a-f]{32})\.trash\.(\d+)$`)
+var
unixT
rashLocRegexp = regexp.MustCompile(`/([0-9a-f]{32})\.trash\.(\d+)$`)
// EmptyTrash walks hierarchy looking for {hash}.trash.*
// and deletes those with deadline < now.
// EmptyTrash walks hierarchy looking for {hash}.trash.*
// and deletes those with deadline < now.
@@
-554,7
+554,7
@@
func (v *UnixVolume) EmptyTrash() {
if info.Mode().IsDir() {
return nil
}
if info.Mode().IsDir() {
return nil
}
- matches :=
t
rashLocRegexp.FindStringSubmatch(path)
+ matches :=
unixT
rashLocRegexp.FindStringSubmatch(path)
if len(matches) != 3 {
return nil
}
if len(matches) != 3 {
return nil
}