[lxc-devel] [lxd/master] lxd/storage: Fix GetVolumeSnapshotDir return value

monstermunchkin on Github lxc-bot at linuxcontainers.org
Mon Nov 18 10:18:43 UTC 2019


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 428 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20191118/b8576015/attachment.bin>
-------------- next part --------------
From f35af4ea5f9c240bb0aa4227fff25636df5edaf4 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Mon, 18 Nov 2019 11:15:52 +0100
Subject: [PATCH] lxd/storage: Fix GetVolumeSnapshotDir return value

This removes the unneeded error return value in GetVolumeSnapshotDir.

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 lxd/storage/backend_lxd.go           | 10 ++--------
 lxd/storage/drivers/driver_cephfs.go | 28 ++++++----------------------
 lxd/storage/drivers/driver_dir.go    | 19 +++++--------------
 lxd/storage/drivers/utils.go         |  9 +++------
 4 files changed, 16 insertions(+), 50 deletions(-)

diff --git a/lxd/storage/backend_lxd.go b/lxd/storage/backend_lxd.go
index 0d071c289c..3a82bf6ea2 100644
--- a/lxd/storage/backend_lxd.go
+++ b/lxd/storage/backend_lxd.go
@@ -224,10 +224,7 @@ func (b *lxdBackend) ensureInstanceSnapshotSymlink(instanceType instancetype.Typ
 	snapshotSymlink := InstancePath(instanceType, projectName, parentName, true)
 	volStorageName := project.Prefix(projectName, parentName)
 
-	snapshotTargetPath, err := drivers.GetVolumeSnapshotDir(b.name, volType, volStorageName)
-	if err != nil {
-		return err
-	}
+	snapshotTargetPath := drivers.GetVolumeSnapshotDir(b.name, volType, volStorageName)
 
 	// Remove any old symlinks left over by previous bugs that may point to a different pool.
 	if shared.PathExists(snapshotSymlink) {
@@ -260,10 +257,7 @@ func (b *lxdBackend) removeInstanceSnapshotSymlinkIfUnused(instanceType instance
 	snapshotSymlink := InstancePath(instanceType, projectName, parentName, true)
 	volStorageName := project.Prefix(projectName, parentName)
 
-	snapshotTargetPath, err := drivers.GetVolumeSnapshotDir(b.name, volType, volStorageName)
-	if err != nil {
-		return err
-	}
+	snapshotTargetPath := drivers.GetVolumeSnapshotDir(b.name, volType, volStorageName)
 
 	// If snapshot parent directory doesn't exist, remove symlink.
 	if !shared.PathExists(snapshotTargetPath) {
diff --git a/lxd/storage/drivers/driver_cephfs.go b/lxd/storage/drivers/driver_cephfs.go
index 22d234f1a6..8fbcc0f2c3 100644
--- a/lxd/storage/drivers/driver_cephfs.go
+++ b/lxd/storage/drivers/driver_cephfs.go
@@ -460,10 +460,7 @@ func (d *cephfs) DeleteVolume(volType VolumeType, volName string, op *operations
 
 	// Although the volume snapshot directory should already be removed, lets remove it here
 	// to just in case the top-level directory is left.
-	snapshotDir, err := GetVolumeSnapshotDir(d.name, volType, volName)
-	if err != nil {
-		return err
-	}
+	snapshotDir := GetVolumeSnapshotDir(d.name, volType, volName)
 
 	err = os.RemoveAll(snapshotDir)
 	if err != nil {
@@ -481,12 +478,9 @@ func (d *cephfs) RenameVolume(volType VolumeType, volName string, newName string
 	vol := NewVolume(d, d.name, volType, ContentTypeFS, volName, nil)
 
 	// Create new snapshots directory.
-	snapshotDir, err := GetVolumeSnapshotDir(d.name, volType, newName)
-	if err != nil {
-		return err
-	}
+	snapshotDir := GetVolumeSnapshotDir(d.name, volType, newName)
 
-	err = os.MkdirAll(snapshotDir, 0711)
+	err := os.MkdirAll(snapshotDir, 0711)
 	if err != nil {
 		return err
 	}
@@ -516,16 +510,10 @@ func (d *cephfs) RenameVolume(volType VolumeType, volName string, newName string
 	}()
 
 	// Rename the snapshot directory first.
-	srcSnapshotDir, err := GetVolumeSnapshotDir(d.name, volType, volName)
-	if err != nil {
-		return err
-	}
+	srcSnapshotDir := GetVolumeSnapshotDir(d.name, volType, volName)
 
 	if shared.PathExists(srcSnapshotDir) {
-		targetSnapshotDir, err := GetVolumeSnapshotDir(d.name, volType, newName)
-		if err != nil {
-			return err
-		}
+		targetSnapshotDir := GetVolumeSnapshotDir(d.name, volType, newName)
 
 		err = os.Rename(srcSnapshotDir, targetSnapshotDir)
 		if err != nil {
@@ -741,11 +729,7 @@ func (d *cephfs) VolumeSnapshots(volType VolumeType, volName string, op *operati
 		return nil, fmt.Errorf("Volume type not supported")
 	}
 
-	snapshotDir, err := GetVolumeSnapshotDir(d.name, volType, volName)
-	if err != nil {
-		return nil, err
-	}
-
+	snapshotDir := GetVolumeSnapshotDir(d.name, volType, volName)
 	snapshots := []string{}
 
 	ents, err := ioutil.ReadDir(snapshotDir)
diff --git a/lxd/storage/drivers/driver_dir.go b/lxd/storage/drivers/driver_dir.go
index 353a3d2eec..2b8192a72c 100644
--- a/lxd/storage/drivers/driver_dir.go
+++ b/lxd/storage/drivers/driver_dir.go
@@ -502,11 +502,7 @@ func (d *dir) CreateVolumeFromCopy(vol Volume, srcVol Volume, copySnapshots bool
 
 // VolumeSnapshots returns a list of snapshots for the volume.
 func (d *dir) VolumeSnapshots(volType VolumeType, volName string, op *operations.Operation) ([]string, error) {
-	snapshotDir, err := GetVolumeSnapshotDir(d.name, volType, volName)
-	if err != nil {
-		return nil, err
-	}
-
+	snapshotDir := GetVolumeSnapshotDir(d.name, volType, volName)
 	snapshots := []string{}
 
 	ents, err := ioutil.ReadDir(snapshotDir)
@@ -562,12 +558,9 @@ func (d *dir) RenameVolume(volType VolumeType, volName string, newVolName string
 	vol := NewVolume(d, d.name, volType, ContentTypeFS, volName, nil)
 
 	// Create new snapshots directory.
-	snapshotDir, err := GetVolumeSnapshotDir(d.name, volType, newVolName)
-	if err != nil {
-		return err
-	}
+	snapshotDir := GetVolumeSnapshotDir(d.name, volType, newVolName)
 
-	err = os.MkdirAll(snapshotDir, 0711)
+	err := os.MkdirAll(snapshotDir, 0711)
 	if err != nil {
 		return err
 	}
@@ -626,10 +619,8 @@ func (d *dir) RenameVolume(volType VolumeType, volName string, newVolName string
 	})
 
 	// Remove old snapshots directory.
-	oldSnapshotDir, err := GetVolumeSnapshotDir(d.name, volType, volName)
-	if err != nil {
-		return err
-	}
+	oldSnapshotDir := GetVolumeSnapshotDir(d.name, volType, volName)
+
 	err = os.RemoveAll(oldSnapshotDir)
 	if err != nil {
 		return err
diff --git a/lxd/storage/drivers/utils.go b/lxd/storage/drivers/utils.go
index 1b16c2de5d..71a496c72a 100644
--- a/lxd/storage/drivers/utils.go
+++ b/lxd/storage/drivers/utils.go
@@ -182,9 +182,9 @@ func GetVolumeMountPath(poolName string, volType VolumeType, volName string) str
 }
 
 // GetVolumeSnapshotDir gets the snapshot mount directory for the parent volume.
-func GetVolumeSnapshotDir(poolName string, volType VolumeType, volName string) (string, error) {
+func GetVolumeSnapshotDir(poolName string, volType VolumeType, volName string) string {
 	parent, _, _ := shared.ContainerGetParentAndSnapshotName(volName)
-	return shared.VarPath("storage-pools", poolName, fmt.Sprintf("%s-snapshots", string(volType)), project.Prefix("default", parent)), nil
+	return shared.VarPath("storage-pools", poolName, fmt.Sprintf("%s-snapshots", string(volType)), project.Prefix("default", parent))
 }
 
 // GetSnapshotVolumeName returns the full volume name for a parent volume and snapshot name.
@@ -195,10 +195,7 @@ func GetSnapshotVolumeName(parentName, snapshotName string) string {
 // deleteParentSnapshotDirIfEmpty removes the parent snapshot directory if it is empty.
 // It accepts the pool name, volume type and parent volume name.
 func deleteParentSnapshotDirIfEmpty(poolName string, volType VolumeType, volName string) error {
-	snapshotsPath, err := GetVolumeSnapshotDir(poolName, volType, volName)
-	if err != nil {
-		return err
-	}
+	snapshotsPath := GetVolumeSnapshotDir(poolName, volType, volName)
 
 	// If it exists, try to delete it.
 	if shared.PathExists(snapshotsPath) {


More information about the lxc-devel mailing list