aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-03-18 00:25:31 -0700
committerchrislu <chris.lu@gmail.com>2022-03-18 00:25:31 -0700
commit269595f398722c93a01b27187ee71fc37fbf7c37 (patch)
tree41ef32199f6d776074fb8407dae7d5d893000f37
parent0eb9dcdd3c63e7873212f6acf818a0161d087821 (diff)
downloadseaweedfs-csi-driver-269595f398722c93a01b27187ee71fc37fbf7c37.tar.xz
seaweedfs-csi-driver-269595f398722c93a01b27187ee71fc37fbf7c37.zip
set disk type by volume create request parameters
related to https://github.com/seaweedfs/seaweedfs-csi-driver/issues/50
-rw-r--r--pkg/driver/controllerserver.go1
-rw-r--r--pkg/driver/driver.go1
-rw-r--r--pkg/driver/mounter_seaweedfs.go4
3 files changed, 6 insertions, 0 deletions
diff --git a/pkg/driver/controllerserver.go b/pkg/driver/controllerserver.go
index 6743ec6..d8be023 100644
--- a/pkg/driver/controllerserver.go
+++ b/pkg/driver/controllerserver.go
@@ -42,6 +42,7 @@ func (cs *ControllerServer) CreateVolume(ctx context.Context, req *csi.CreateVol
glog.V(4).Infof("params:%v", params)
capacity := req.GetCapacityRange().GetLimitBytes()
cs.Driver.Capacity = capacity
+ cs.Driver.DiskType = params["diskType"]
if err := filer_pb.Mkdir(cs.Driver, "/buckets", volumeId, nil); err != nil {
return nil, fmt.Errorf("Error setting bucket metadata: %v", err)
diff --git a/pkg/driver/driver.go b/pkg/driver/driver.go
index 0ae02dc..5e82a60 100644
--- a/pkg/driver/driver.go
+++ b/pkg/driver/driver.go
@@ -44,6 +44,7 @@ type SeaweedFsDriver struct {
UidMap string
GidMap string
Capacity int64
+ DiskType string
}
func NewSeaweedFsDriver(filer, nodeID, endpoint string) *SeaweedFsDriver {
diff --git a/pkg/driver/mounter_seaweedfs.go b/pkg/driver/mounter_seaweedfs.go
index 7c64314..2d0eba9 100644
--- a/pkg/driver/mounter_seaweedfs.go
+++ b/pkg/driver/mounter_seaweedfs.go
@@ -82,6 +82,10 @@ func (seaweedFs *seaweedFsMounter) Mount(target string) error {
args = append(args, fmt.Sprintf("-map.gid=%s", seaweedFs.driver.GidMap))
}
+ if seaweedFs.driver.DiskType != "" {
+ args = append(args, fmt.Sprintf("-disk=%s", seaweedFs.driver.DiskType))
+ }
+
err := fuseMount(target, seaweedFsCmd, args)
if err != nil {
glog.Errorf("mount %v %s to %s: %s", seaweedFs.driver.filers, seaweedFs.path, target, err)