forked from Deuxfleurs/bagage
Fix renaming
This commit is contained in:
parent
e83c3a13b2
commit
d38e203370
1 changed files with 6 additions and 6 deletions
12
s3_fs.go
12
s3_fs.go
|
@ -113,7 +113,6 @@ func (s S3FS) Rename(ctx context.Context, oldName, newName string) error {
|
||||||
//Gather all keys, copy the object, delete the original
|
//Gather all keys, copy the object, delete the original
|
||||||
objCh := s.mc.ListObjects(s.ctx, po.bucket, minio.ListObjectsOptions{Prefix: po.key, Recursive: true})
|
objCh := s.mc.ListObjects(s.ctx, po.bucket, minio.ListObjectsOptions{Prefix: po.key, Recursive: true})
|
||||||
for obj := range objCh {
|
for obj := range objCh {
|
||||||
log.Println("found object", obj)
|
|
||||||
src := minio.CopySrcOptions{
|
src := minio.CopySrcOptions{
|
||||||
Bucket: po.bucket,
|
Bucket: po.bucket,
|
||||||
Object: obj.Key,
|
Object: obj.Key,
|
||||||
|
@ -125,16 +124,17 @@ func (s S3FS) Rename(ctx context.Context, oldName, newName string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err := s.mc.CopyObject(s.ctx, dst, src)
|
_, err := s.mc.CopyObject(s.ctx, dst, src)
|
||||||
log.Println("copy", obj)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("copy err", err)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("delete", obj)
|
|
||||||
err = s.mc.RemoveObject(s.ctx, po.bucket, obj.Key, minio.RemoveObjectOptions{})
|
err = s.mc.RemoveObject(s.ctx, po.bucket, obj.Key, minio.RemoveObjectOptions{})
|
||||||
if err != nil /*&& err.Code != 200*/ /* @FIXME workaround for garage's bug #98 */ {
|
var e minio.ErrorResponse
|
||||||
log.Println("delete err", err)
|
log.Println(errors.As(err, &e))
|
||||||
|
log.Println(e)
|
||||||
|
if errors.As(err, &e) && e.StatusCode == 200 {
|
||||||
|
/* @FIXME workaround for garage's bug #98 */
|
||||||
|
} else if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue