chore(refactor): move btrfs code out of zfs package

Signed-off-by: Pawan <pawan@mayadata.io>
This commit is contained in:
Pawan 2020-11-23 18:36:49 +05:30 committed by Kiran Mova
parent 3404bc032b
commit 935a544538
2 changed files with 10 additions and 7 deletions

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package zfs
package btrfs
import (
"os/exec"
@ -28,16 +28,16 @@ import (
* volume refers to the same block because of the way ZFS clone works, it will
* also have the same UUID.
*/
func btrfsGenerateUUID(volume string) error {
device := ZFSDevPath + volume
// GenerateUUID generates a new btrfs UUID for the given device
func GenerateUUID(device string) error {
// for mounting the cloned volume for btrfs, a new UUID has to be generated
cmd := exec.Command("btrfstune", "-f", "-u", device)
out, err := cmd.CombinedOutput()
if err != nil {
klog.Errorf("btrfs: uuid generate failed %s error: %s", volume, string(out))
klog.Errorf("btrfs: uuid generate failed for device %s error: %s", device, string(out))
return err
}
klog.Infof("btrfs: generated UUID for the cloned volume %s \n %v", volume, string(out))
klog.Infof("btrfs: generated UUID for the device %s \n %v", device, string(out))
return nil
}

View file

@ -23,6 +23,7 @@ import (
"fmt"
apis "github.com/openebs/zfs-localpv/pkg/apis/openebs.io/zfs/v1"
"github.com/openebs/zfs-localpv/pkg/btrfs"
k8serrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/klog"
"strings"
@ -442,7 +443,8 @@ func CreateClone(vol *apis.ZFSVolume) error {
return xfsGenerateUUID(volume)
}
if vol.Spec.FsType == "btrfs" {
return btrfsGenerateUUID(volume)
device := ZFSDevPath + volume
return btrfs.GenerateUUID(device)
}
return nil
}
@ -815,7 +817,8 @@ func CreateRestore(rstr *apis.ZFSRestore) error {
return xfsGenerateUUID(volume)
}
if vol.Spec.FsType == "btrfs" {
return btrfsGenerateUUID(volume)
device := ZFSDevPath + volume
return btrfs.GenerateUUID(device)
}
return nil