Merge branch '17312-doc-PAM-nologin'
[arvados.git] / services / keepstore / s3_volume.go
index 96f2e7db3965704570f3906c78ab6e624072e013..07bb033c9f1fbc551c34fc59a3a89656cfbf7d79 100644 (file)
@@ -32,12 +32,12 @@ import (
 )
 
 func init() {
-       driver["S3"] = newS3Volume
+       driver["S3"] = chooseS3VolumeDriver
 }
 
 func newS3Volume(cluster *arvados.Cluster, volume arvados.Volume, logger logrus.FieldLogger, metrics *volumeMetricsVecs) (Volume, error) {
        v := &S3Volume{cluster: cluster, volume: volume, metrics: metrics}
-       err := json.Unmarshal(volume.DriverParameters, &v)
+       err := json.Unmarshal(volume.DriverParameters, v)
        if err != nil {
                return nil, err
        }
@@ -586,7 +586,10 @@ func (v *S3Volume) IndexTo(prefix string, writer io.Writer) error {
                if err != nil {
                        return err
                }
-               fmt.Fprintf(writer, "%s+%d %d\n", data.Key, data.Size, t.UnixNano())
+               // We truncate sub-second precision here. Otherwise
+               // timestamps will never match the RFC1123-formatted
+               // Last-Modified values parsed by Mtime().
+               fmt.Fprintf(writer, "%s+%d %d\n", data.Key, data.Size, t.Unix()*1000000000)
        }
        return dataL.Error()
 }