@@ -41,22 +41,6 @@ func Compress(in io.Reader, out io.Writer) error {
41
41
return enc .Close ()
42
42
}
43
43
44
- type autocloser struct {
45
- rc io.ReadCloser
46
- }
47
-
48
- func (ac autocloser ) Read (p []byte ) (n int , err error ) {
49
- n , err = ac .rc .Read (p )
50
- if err != nil {
51
- _ = ac .rc .Close ()
52
- }
53
- return
54
- }
55
-
56
- func AutoCloser (rc io.ReadCloser ) io.Reader {
57
- return & autocloser {rc }
58
- }
59
-
60
44
type multi struct {
61
45
io.Writer
62
46
cs []io.Closer
@@ -340,10 +324,9 @@ var cmdCreate = &cli.Command{
340
324
return xerrors .Errorf ("failed to aquire lock" )
341
325
}
342
326
343
- rr , wr := io .Pipe ()
344
327
rc , wc := io .Pipe ()
345
328
346
- mw := MultiWriteCloser (wr , wc )
329
+ mw := MultiWriteCloser (wc )
347
330
348
331
e := export .NewExport (node , tsk , abi .ChainEpoch (flagStaterootCount ), true , mw )
349
332
errCh := make (chan error )
@@ -396,10 +379,6 @@ var cmdCreate = &cli.Command{
396
379
logger .Infow ("discarding output" )
397
380
g , _ := errgroup .WithContext (ctx )
398
381
399
- g .Go (func () error {
400
- _ , err := io .Copy (io .Discard , rr )
401
- return err
402
- })
403
382
g .Go (func () error {
404
383
_ , err := io .Copy (io .Discard , rc )
405
384
return err
@@ -439,13 +418,8 @@ var cmdCreate = &cli.Command{
439
418
logger .Infow ("object" , "name" , name )
440
419
441
420
g , ctxGroup := errgroup .WithContext (ctx )
442
- var siRaw * snapshotInfo
443
421
var siCompressed * snapshotInfo
444
- g .Go (func () error {
445
- var err error
446
- siRaw , err = runUploadRaw (ctxGroup , minioClient , flagBucket , flagNamePrefix , flagRetrievalEndpointPrefix , name , peerID , bt , rr )
447
- return err
448
- })
422
+
449
423
g .Go (func () error {
450
424
var err error
451
425
siCompressed , err = runUploadCompressed (ctxGroup , minioClient , flagBucket , flagNamePrefix , flagRetrievalEndpointPrefix , name , peerID , bt , rc )
@@ -458,7 +432,7 @@ var cmdCreate = &cli.Command{
458
432
return err
459
433
}
460
434
461
- sis := []* snapshotInfo {siRaw , siCompressed }
435
+ sis := []* snapshotInfo {siCompressed }
462
436
463
437
var sb strings.Builder
464
438
for _ , x := range sis {
@@ -502,50 +476,6 @@ var cmdCreate = &cli.Command{
502
476
},
503
477
}
504
478
505
- func runUploadRaw (ctx context.Context , minioClient * minio.Client , flagBucket , flagNamePrefix , flagRetrievalEndpointPrefix , name , peerID string , bt time.Time , source io.Reader ) (* snapshotInfo , error ) {
506
- h := sha256 .New ()
507
- r := io .TeeReader (source , h )
508
-
509
- filename := fmt .Sprintf ("%s.car" , name )
510
-
511
- info , err := minioClient .PutObject (ctx , flagBucket , fmt .Sprintf ("%s%s" , flagNamePrefix , filename ), r , - 1 , minio.PutObjectOptions {
512
- ContentDisposition : fmt .Sprintf ("attachment; filename=\" %s\" " , filename ),
513
- ContentType : "application/octet-stream" ,
514
- })
515
- if err != nil {
516
- return nil , fmt .Errorf ("failed to upload object (%s): %w" , fmt .Sprintf ("%s%s" , flagNamePrefix , filename ), err )
517
- }
518
-
519
- logger .Infow ("snapshot upload" ,
520
- "bucket" , info .Bucket ,
521
- "key" , info .Key ,
522
- "etag" , info .ETag ,
523
- "size" , info .Size ,
524
- "location" , info .Location ,
525
- "version_id" , info .VersionID ,
526
- "expiration" , info .Expiration ,
527
- "expiration_rule_id" , info .ExpirationRuleID ,
528
- )
529
-
530
- snapshotSize := info .Size
531
-
532
- latestLocation , err := url .JoinPath (flagRetrievalEndpointPrefix , info .Key )
533
- if err != nil {
534
- logger .Errorw ("failed to join request path" , "request_prefix" , flagRetrievalEndpointPrefix , "key" , info .Key )
535
- return nil , fmt .Errorf ("failed to join request path: %w" , err )
536
- }
537
-
538
- digest := fmt .Sprintf ("%x" , h .Sum (nil ))
539
-
540
- return & snapshotInfo {
541
- digest : digest ,
542
- size : snapshotSize ,
543
- filename : filename ,
544
- latestIndex : "latest" ,
545
- latestLocation : latestLocation ,
546
- }, nil
547
- }
548
-
549
479
func runUploadCompressed (ctx context.Context , minioClient * minio.Client , flagBucket , flagNamePrefix , flagRetrievalEndpointPrefix , name , peerID string , bt time.Time , source io.Reader ) (* snapshotInfo , error ) {
550
480
551
481
r1 , w1 := io .Pipe ()
0 commit comments