8000 Merge pull request #48968 from thaJeztah/27.x_backport_43080-zfs-dest… · moby/moby@7f11005 · GitHub
[go: up one dir, main page]

Skip to content

Commit 7f11005

Browse files
authored
Merge pull request #48968 from thaJeztah/27.x_backport_43080-zfs-destroy-missing-volume-fails
[27.x backport] daemon/graphdriver/zfs: ignore non-existent dataset on removal
2 parents 7f7efed + 18aa104 commit 7f11005

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

daemon/graphdriver/zfs/zfs.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,17 @@ func (d *Driver) Remove(id string) error {
353353
name := d.zfsPath(id)
354354
dataset := zfs.Dataset{Name: name}
355355
err := dataset.Destroy(zfs.DestroyRecursive)
356+
if err != nil {
357+
var errZfs *zfs.Error
358+
isZfsError := errors.As(err, &errZfs)
359+
if isZfsError && strings.HasSuffix(strings.TrimSpace(errZfs.Stderr), "dataset does not exist") {
360+
log.G(context.TODO()).WithFields(log.Fields{
361+
"error": err,
362+
"storage-driver": "zfs",
363+
}).Warnf("Tried to destroy inexistent dataset %q", name)
364+
err = nil
365+
}
366+
}
356367
if err == nil {
357368
d.Lock()
358369
delete(d.filesystemsCache, name)

0 commit comments

Comments
 (0)
0