aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzemul <zemul@foxmail.com>2023-03-03 00:24:36 +0800
committerGitHub <noreply@github.com>2023-03-02 08:24:36 -0800
commit0bf56298d5f2e106760c0f44c4ccb9a3d2a78ca6 (patch)
treed292076e18b550a6ca690b277de77e17a1f1d0dd
parent8241c9a829d319241466c852dc9bd42d49d29230 (diff)
downloadseaweedfs-0bf56298d5f2e106760c0f44c4ccb9a3d2a78ca6.tar.xz
seaweedfs-0bf56298d5f2e106760c0f44c4ccb9a3d2a78ca6.zip
fix chunk.ModifiedTsNs (#4264)
* fix * fix mtime s > ns --------- Co-authored-by: zemul <zhouzemiao@ihuman.com>
-rw-r--r--weed/images/cropping.go94
-rw-r--r--weed/s3api/s3_constants/acp_grantee_group.go2
-rw-r--r--weed/server/filer_grpc_server_remote.go3
-rw-r--r--weed/shell/command_volume_fsck.go1
-rw-r--r--weed/topology/topology.go2
5 files changed, 52 insertions, 50 deletions
diff --git a/weed/images/cropping.go b/weed/images/cropping.go
index 07a3f41ad..10e8620d4 100644
--- a/weed/images/cropping.go
+++ b/weed/images/cropping.go
@@ -1,47 +1,47 @@
-package images
-
-import (
- "bytes"
- "image"
- "image/gif"
- "image/jpeg"
- "image/png"
- "io"
-
- "github.com/disintegration/imaging"
-
- "github.com/seaweedfs/seaweedfs/weed/glog"
-)
-
-func Cropped(ext string, read io.ReadSeeker, x1, y1, x2, y2 int) (cropped io.ReadSeeker, err error) {
- srcImage, _, err := image.Decode(read)
- if err != nil {
- glog.Error(err)
- return read, err
- }
-
- bounds := srcImage.Bounds()
- if x2 > bounds.Dx() || y2 > bounds.Dy() {
- read.Seek(0, 0)
- return read, nil
- }
-
- rectangle := image.Rect(x1, y1, x2, y2)
- dstImage := imaging.Crop(srcImage, rectangle)
- var buf bytes.Buffer
- switch ext {
- case ".jpg", ".jpeg":
- if err = jpeg.Encode(&buf, dstImage, nil); err != nil {
- glog.Error(err)
- }
- case ".png":
- if err = png.Encode(&buf, dstImage); err != nil {
- glog.Error(err)
- }
- case ".gif":
- if err = gif.Encode(&buf, dstImage, nil); err != nil {
- glog.Error(err)
- }
- }
- return bytes.NewReader(buf.Bytes()), err
-}
+package images
+
+import (
+ "bytes"
+ "image"
+ "image/gif"
+ "image/jpeg"
+ "image/png"
+ "io"
+
+ "github.com/disintegration/imaging"
+
+ "github.com/seaweedfs/seaweedfs/weed/glog"
+)
+
+func Cropped(ext string, read io.ReadSeeker, x1, y1, x2, y2 int) (cropped io.ReadSeeker, err error) {
+ srcImage, _, err := image.Decode(read)
+ if err != nil {
+ glog.Error(err)
+ return read, err
+ }
+
+ bounds := srcImage.Bounds()
+ if x2 > bounds.Dx() || y2 > bounds.Dy() {
+ read.Seek(0, 0)
+ return read, nil
+ }
+
+ rectangle := image.Rect(x1, y1, x2, y2)
+ dstImage := imaging.Crop(srcImage, rectangle)
+ var buf bytes.Buffer
+ switch ext {
+ case ".jpg", ".jpeg":
+ if err = jpeg.Encode(&buf, dstImage, nil); err != nil {
+ glog.Error(err)
+ }
+ case ".png":
+ if err = png.Encode(&buf, dstImage); err != nil {
+ glog.Error(err)
+ }
+ case ".gif":
+ if err = gif.Encode(&buf, dstImage, nil); err != nil {
+ glog.Error(err)
+ }
+ }
+ return bytes.NewReader(buf.Bytes()), err
+}
diff --git a/weed/s3api/s3_constants/acp_grantee_group.go b/weed/s3api/s3_constants/acp_grantee_group.go
index 7058a4e9f..2eaa892e9 100644
--- a/weed/s3api/s3_constants/acp_grantee_group.go
+++ b/weed/s3api/s3_constants/acp_grantee_group.go
@@ -1,6 +1,6 @@
package s3_constants
-//Amazon S3 predefined groups
+// Amazon S3 predefined groups
var (
GranteeGroupAllUsers = "http://acs.amazonaws.com/groups/global/AllUsers"
GranteeGroupAuthenticatedUsers = "http://acs.amazonaws.com/groups/global/AuthenticatedUsers"
diff --git a/weed/server/filer_grpc_server_remote.go b/weed/server/filer_grpc_server_remote.go
index 27dbb1c80..33049a4f4 100644
--- a/weed/server/filer_grpc_server_remote.go
+++ b/weed/server/filer_grpc_server_remote.go
@@ -154,10 +154,11 @@ func (fs *FilerServer) CacheRemoteObjectToLocalCluster(ctx context.Context, req
}
chunks = append(chunks, &filer_pb.FileChunk{
+
FileId: assignResult.Fid,
Offset: localOffset,
Size: uint64(size),
- ModifiedTsNs: time.Now().Unix(),
+ ModifiedTsNs: time.Now().UnixNano(),
ETag: etag,
Fid: &filer_pb.FileId{
VolumeId: uint32(fileId.VolumeId),
diff --git a/weed/shell/command_volume_fsck.go b/weed/shell/command_volume_fsck.go
index 5559be956..29c724c49 100644
--- a/weed/shell/command_volume_fsck.go
+++ b/weed/shell/command_volume_fsck.go
@@ -163,6 +163,7 @@ func (c *commandVolumeFsck) Do(args []string, commandEnv *CommandEnv, writer io.
if *c.findMissingChunksInFiler {
// collect all filer file ids and paths
+
if err = c.collectFilerFileIdAndPaths(dataNodeVolumeIdToVInfo, *purgeAbsent, collectCutoffFromAtNs); err != nil {
return fmt.Errorf("collectFilerFileIdAndPaths: %v", err)
}
diff --git a/weed/topology/topology.go b/weed/topology/topology.go
index 671cdf32c..c7b492267 100644
--- a/weed/topology/topology.go
+++ b/weed/topology/topology.go
@@ -35,7 +35,7 @@ type Topology struct {
volumeSizeLimit uint64
replicationAsMin bool
- isDisableVacuum bool
+ isDisableVacuum bool
Sequence sequence.Sequencer