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