Skip to content

Commit 617c63d

Browse files
Merge pull request #1864 from yanxuean/withSnapshotBucket
get wrong parents bucket in withSnapshotBucket
2 parents a6fad51 + db742c9 commit 617c63d

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

snapshots/overlay/overlay.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,9 +287,9 @@ func (o *snapshotter) createSnapshot(ctx context.Context, kind snapshots.Kind, k
287287
if err != nil {
288288
return nil, err
289289
}
290-
isRollback := true
290+
rollback := true
291291
defer func() {
292-
if isRollback {
292+
if rollback {
293293
if rerr := t.Rollback(); rerr != nil {
294294
log.G(ctx).WithError(rerr).Warn("failed to rollback transaction")
295295
}
@@ -317,9 +317,9 @@ func (o *snapshotter) createSnapshot(ctx context.Context, kind snapshots.Kind, k
317317
if err = os.Rename(td, path); err != nil {
318318
return nil, errors.Wrap(err, "failed to rename")
319319
}
320-
isRollback = false
321320
td = ""
322321

322+
rollback = false
323323
if err = t.Commit(); err != nil {
324324
return nil, errors.Wrap(err, "commit failed")
325325
}

snapshots/storage/bolt.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -341,16 +341,16 @@ func CommitActive(ctx context.Context, key, name string, usage snapshots.Usage,
341341
}
342342
sbkt := bkt.Bucket([]byte(key))
343343
if sbkt == nil {
344-
return errors.Wrap(errdefs.ErrNotFound, "failed to get active snapshot")
344+
return errors.Wrapf(errdefs.ErrNotFound, "failed to get active snapshot %q", key)
345345
}
346346

347347
var si snapshots.Info
348348
if err := readSnapshot(sbkt, &id, &si); err != nil {
349-
return errors.Wrap(err, "failed to read snapshot")
349+
return errors.Wrapf(err, "failed to read active snapshot %q", key)
350350
}
351351

352352
if si.Kind != snapshots.KindActive {
353-
return errors.Wrapf(errdefs.ErrFailedPrecondition, "snapshot %v is not active", name)
353+
return errors.Wrapf(errdefs.ErrFailedPrecondition, "snapshot %q is not active", key)
354354
}
355355
si.Kind = snapshots.KindCommitted
356356
si.Created = time.Now().UTC()
@@ -366,18 +366,18 @@ func CommitActive(ctx context.Context, key, name string, usage snapshots.Usage,
366366
return err
367367
}
368368
if err := bkt.DeleteBucket([]byte(key)); err != nil {
369-
return errors.Wrap(err, "failed to delete active")
369+
return errors.Wrapf(err, "failed to delete active snapshot %q", key)
370370
}
371371
if si.Parent != "" {
372372
spbkt := bkt.Bucket([]byte(si.Parent))
373373
if spbkt == nil {
374-
return errors.Wrap(errdefs.ErrNotFound, "missing parent")
374+
return errors.Wrapf(errdefs.ErrNotFound, "missing parent snapshot of %q", key)
375375
}
376376
pid := readID(spbkt)
377377

378378
// Updates parent back link to use new key
379379
if err := pbkt.Put(parentKey(pid, id), []byte(name)); err != nil {
380-
return errors.Wrap(err, "failed to update parent link")
380+
return errors.Wrapf(err, "failed to update parent link from %q to %q", key, name)
381381
}
382382
}
383383

@@ -394,11 +394,11 @@ func withSnapshotBucket(ctx context.Context, key string, fn func(context.Context
394394
if !ok {
395395
return ErrNoTransaction
396396
}
397-
bkt := tx.Bucket(bucketKeyStorageVersion)
398-
if bkt == nil {
397+
vbkt := tx.Bucket(bucketKeyStorageVersion)
398+
if vbkt == nil {
399399
return errors.Wrap(errdefs.ErrNotFound, "bucket does not exist")
400400
}
401-
bkt = bkt.Bucket(bucketKeySnapshot)
401+
bkt := vbkt.Bucket(bucketKeySnapshot)
402402
if bkt == nil {
403403
return errors.Wrap(errdefs.ErrNotFound, "snapshots bucket does not exist")
404404
}
@@ -407,7 +407,7 @@ func withSnapshotBucket(ctx context.Context, key string, fn func(context.Context
407407
return errors.Wrap(errdefs.ErrNotFound, "snapshot does not exist")
408408
}
409409

410-
return fn(ctx, bkt, bkt.Bucket(bucketKeyParents))
410+
return fn(ctx, bkt, vbkt.Bucket(bucketKeyParents))
411411
}
412412

413413
func withBucket(ctx context.Context, fn func(context.Context, *bolt.Bucket, *bolt.Bucket) error) error {

0 commit comments

Comments
 (0)