@@ -133,11 +133,11 @@ func NewFs(name, root string, m configmap.Mapper) (_ fs.Fs, err error) {
133
133
if err != nil {
134
134
return f , errors .Wrap (err , "storj: bucket" )
135
135
}
136
- defer bucket . Close ( )
136
+ defer fs . CheckClose ( bucket , & err )
137
137
138
138
object , err := bucket .OpenObject (ctx , bucketPath )
139
139
if err == nil {
140
- defer object . Close ( )
140
+ defer fs . CheckClose ( object , & err )
141
141
142
142
if ! object .Meta .IsPrefix {
143
143
return f , fs .ErrorIsFile
@@ -164,7 +164,7 @@ func (f *Fs) connect(ctx context.Context) (upl *uplink.Uplink, project *uplink.P
164
164
165
165
project , err = upl .OpenProject (ctx , f .scope .SatelliteAddr , f .scope .APIKey )
166
166
if err != nil {
167
- upl . Close ( )
167
+ fs . CheckClose ( upl , & err )
168
168
169
169
return nil , nil , errors .Wrap (err , "storj: project" )
170
170
}
@@ -272,15 +272,15 @@ func (f *Fs) listObjects(ctx context.Context, relative, bucketName, bucketPath s
272
272
273
273
return nil , fs .ErrorDirNotFound
274
274
}
275
- defer bucket . Close ( )
275
+ defer fs . CheckClose ( bucket , & err )
276
276
277
277
// Attempt to open the directory itself. If the directory itself exists
278
278
// as an object it will not show up through the listing below.
279
279
object , err := bucket .OpenObject (ctx , bucketPath )
280
280
if err == nil {
281
281
entries = append (entries , NewObjectFromUplink (f , object ).setRelative ("" ))
282
282
283
- object . Close ( )
283
+ fs . CheckClose ( object , & err )
284
284
}
285
285
286
286
startAfter := ""
@@ -334,7 +334,7 @@ func (f *Fs) listObjects(ctx context.Context, relative, bucketName, bucketPath s
334
334
//
335
335
// Don't implement this unless you have a more efficient way of listing
336
336
// recursively that doing a directory traversal.
337
- func (f * Fs ) ListR (ctx context.Context , relative string , callback fs.ListRCallback ) error {
337
+ func (f * Fs ) ListR (ctx context.Context , relative string , callback fs.ListRCallback ) ( err error ) {
338
338
fs .Infof (f , "ls -R ./%s" , relative )
339
339
340
340
bucketName , bucketPath := f .absolute (relative )
@@ -401,7 +401,7 @@ func (f *Fs) listObjectsR(ctx context.Context, relative, bucketName, bucketPath
401
401
402
402
return fs .ErrorDirNotFound
403
403
}
404
- defer bucket . Close ( )
404
+ defer fs . CheckClose ( bucket , & err )
405
405
406
406
// Attempt to open the directory itself. If the directory itself exists
407
407
// as an object it will not show up through the listing below.
@@ -412,7 +412,7 @@ func (f *Fs) listObjectsR(ctx context.Context, relative, bucketName, bucketPath
412
412
return err
413
413
}
414
414
415
- object . Close ( )
415
+ fs . CheckClose ( object , & err )
416
416
}
417
417
418
418
startAfter := ""
@@ -462,7 +462,7 @@ func (f *Fs) listObjectsR(ctx context.Context, relative, bucketName, bucketPath
462
462
463
463
// NewObject finds the Object at relative. If it can't be found it returns the
464
464
// error ErrorObjectNotFound.
465
- func (f * Fs ) NewObject (ctx context.Context , relative string ) (fs.Object , error ) {
465
+ func (f * Fs ) NewObject (ctx context.Context , relative string ) (_ fs.Object , err error ) {
466
466
fs .Infof (f , "stat ./%s" , relative )
467
467
468
468
bucketName , bucketPath := f .absolute (relative )
@@ -473,15 +473,15 @@ func (f *Fs) NewObject(ctx context.Context, relative string) (fs.Object, error)
473
473
474
474
return nil , fs .ErrorObjectNotFound
475
475
}
476
- defer bucket . Close ( )
476
+ defer fs . CheckClose ( bucket , & err )
477
477
478
478
object , err := bucket .OpenObject (ctx , bucketPath )
479
479
if err != nil {
480
480
fs .Debugf (f , "err: %+v" , err )
481
481
482
482
return nil , fs .ErrorObjectNotFound
483
483
}
484
- defer object . Close ( )
484
+ defer fs . CheckClose ( object , & err )
485
485
486
486
o := NewObjectFromUplink (f , object )
487
487
@@ -503,7 +503,7 @@ func (f *Fs) NewObject(ctx context.Context, relative string) (fs.Object, error)
503
503
//
504
504
// May create the object even if it returns an error - if so will return the
505
505
// object and the error, otherwise will return nil and the error
506
- func (f * Fs ) Put (ctx context.Context , in io.Reader , src fs.ObjectInfo , options ... fs.OpenOption ) (fs.Object , error ) {
506
+ func (f * Fs ) Put (ctx context.Context , in io.Reader , src fs.ObjectInfo , options ... fs.OpenOption ) (_ fs.Object , err error ) {
507
507
fs .Infof (f , "cp input ./%s # %+v %d" , src .Remote (), options , src .Size ())
508
508
509
509
// Reject options we don't support.
@@ -534,14 +534,14 @@ func (f *Fs) Put(ctx context.Context, in io.Reader, src fs.ObjectInfo, options .
534
534
if err != nil {
535
535
return nil , err
536
536
}
537
- defer u . Close ( )
538
- defer p . Close ( )
537
+ defer fs . CheckClose ( u , & err )
538
+ defer fs . CheckClose ( p , & err )
539
539
540
540
bucket , err := p .OpenBucket (ctx , bucketName , f .scope .EncryptionAccess )
541
541
if err != nil {
542
542
return nil , err
543
543
}
544
- defer bucket . Close ( )
544
+ defer fs . CheckClose ( bucket , & err )
545
545
546
546
out , err := bucket .NewWriter (ctx , bucketPath , & uplink.UploadOptions {
547
547
Metadata : map [string ]string {
@@ -560,7 +560,7 @@ func (f *Fs) Put(ctx context.Context, in io.Reader, src fs.ObjectInfo, options .
560
560
fs .Debugf (f , "cp input ./%s %+v: copied %d %+v" , src .Remote (), options , n , err )
561
561
562
562
if err == io .EOF {
563
- out . Close ( )
563
+ fs . CheckClose ( out , & err )
564
564
}
565
565
566
566
ch <- err
@@ -590,7 +590,7 @@ func (f *Fs) Put(ctx context.Context, in io.Reader, src fs.ObjectInfo, options .
590
590
if err != nil {
591
591
return nil , err
592
592
}
593
- defer object . Close ( )
593
+ defer fs . CheckClose ( object , & err )
594
594
595
595
o := NewObjectFromUplink (f , object ).setRelative (src .Remote ())
596
596
@@ -602,14 +602,14 @@ func (f *Fs) Put(ctx context.Context, in io.Reader, src fs.ObjectInfo, options .
602
602
//
603
603
// May create the object even if it returns an error - if so will return the
604
604
// object and the error, otherwise will return nil and the error.
605
- func (f * Fs ) PutStream (ctx context.Context , in io.Reader , src fs.ObjectInfo , options ... fs.OpenOption ) (fs.Object , error ) {
605
+ func (f * Fs ) PutStream (ctx context.Context , in io.Reader , src fs.ObjectInfo , options ... fs.OpenOption ) (_ fs.Object , err error ) {
606
606
return f .Put (ctx , in , src , options ... )
607
607
}
608
608
609
609
// Mkdir makes the directory (container, bucket)
610
610
//
611
611
// Shouldn't return an error if it already exists
612
- func (f * Fs ) Mkdir (ctx context.Context , relative string ) error {
612
+ func (f * Fs ) Mkdir (ctx context.Context , relative string ) ( err error ) {
613
613
fs .Infof (f , "mkdir -p ./%s" , relative )
614
614
615
615
bucketName , _ := f .absolute (relative )
@@ -632,18 +632,18 @@ func (f *Fs) Mkdir(ctx context.Context, relative string) error {
632
632
633
633
_ , err = f .project .CreateBucket (ctx , bucketName , cfg )
634
634
if err != nil {
635
- return err
635
+ return
636
636
}
637
637
}
638
- bucket . Close ( )
638
+ fs . CheckClose ( bucket , & err )
639
639
640
- return nil
640
+ return
641
641
}
642
642
643
643
// Rmdir removes the directory (container, bucket) if empty
644
644
//
645
645
// Return an error if it doesn't exist or isn't empty
646
- func (f * Fs ) Rmdir (ctx context.Context , relative string ) error {
646
+ func (f * Fs ) Rmdir (ctx context.Context , relative string ) ( err error ) {
647
647
fs .Infof (f , "rmdir ./%s" , relative )
648
648
649
649
bucketName , bucketPath := f .absolute (relative )
@@ -658,7 +658,7 @@ func (f *Fs) Rmdir(ctx context.Context, relative string) error {
658
658
if err != nil {
659
659
return fs .ErrorDirNotFound
660
660
}
661
- defer bucket . Close ( )
661
+ defer fs . CheckClose ( bucket , & err )
662
662
663
663
if bucketPath == "" {
664
664
result , err := bucket .ListObjects (ctx , & storj.ListOptions {Direction : storj .After , Recursive : true , Limit : 1 })
@@ -677,7 +677,7 @@ func (f *Fs) Rmdir(ctx context.Context, relative string) error {
677
677
if err != nil {
678
678
return fs .ErrorDirNotFound
679
679
}
680
- defer object . Close ( )
680
+ defer fs . CheckClose ( object , & err )
681
681
682
682
if object .Meta .IsPrefix {
683
683
return fs .ErrorDirectoryNotEmpty
0 commit comments