aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-01-11 11:31:49 -0800
committerChris Lu <chris.lu@gmail.com>2021-01-11 11:31:49 -0800
commite45e75e102807828dc0dfaad4f8fe8612e96ee75 (patch)
treeb2419610085cd1212e8ea92bff490de47d9e418c
parentfcc0835e931c6ed464bd57e0166399f5c7e6a40a (diff)
downloadseaweedfs-csi-driver-e45e75e102807828dc0dfaad4f8fe8612e96ee75.tar.xz
seaweedfs-csi-driver-e45e75e102807828dc0dfaad4f8fe8612e96ee75.zip
add an example on how to add more mount options
-rwxr-xr-x_output/seaweedfs-csi-driverbin0 -> 33253116 bytes
-rw-r--r--cmd/seaweedfs-csi-driver/main.go10
-rw-r--r--pkg/driver/driver.go7
-rw-r--r--pkg/driver/mounter_seaweedfs.go3
4 files changed, 13 insertions, 7 deletions
diff --git a/_output/seaweedfs-csi-driver b/_output/seaweedfs-csi-driver
new file mode 100755
index 0000000..adbcd3e
--- /dev/null
+++ b/_output/seaweedfs-csi-driver
Binary files differ
diff --git a/cmd/seaweedfs-csi-driver/main.go b/cmd/seaweedfs-csi-driver/main.go
index a654992..2671f0b 100644
--- a/cmd/seaweedfs-csi-driver/main.go
+++ b/cmd/seaweedfs-csi-driver/main.go
@@ -10,10 +10,11 @@ import (
)
var (
- filer = flag.String("filer", "localhost:8888", "filer server")
- endpoint = flag.String("endpoint", "unix://tmp/seaweedfs-csi.sock", "CSI endpoint to accept gRPC calls")
- nodeID = flag.String("nodeid", "", "node id")
- version = flag.Bool("version", false, "Print the version and exit.")
+ filer = flag.String("filer", "localhost:8888", "filer server")
+ endpoint = flag.String("endpoint", "unix://tmp/seaweedfs-csi.sock", "CSI endpoint to accept gRPC calls")
+ nodeID = flag.String("nodeid", "", "node id")
+ version = flag.Bool("version", false, "Print the version and exit.")
+ concurrentWriters = flag.Int("concurrentWriters", 128, "limit concurrent goroutine writers if not 0")
)
func main() {
@@ -30,5 +31,6 @@ func main() {
}
drv := driver.NewSeaweedFsDriver(*filer, *nodeID, *endpoint)
+ drv.ConcurrentWriters = *concurrentWriters
drv.Run()
}
diff --git a/pkg/driver/driver.go b/pkg/driver/driver.go
index 4e3b808..ad559d0 100644
--- a/pkg/driver/driver.go
+++ b/pkg/driver/driver.go
@@ -4,12 +4,12 @@ import (
"fmt"
"os"
+ "github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/pb"
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
"github.com/chrislusf/seaweedfs/weed/security"
"github.com/chrislusf/seaweedfs/weed/util"
"github.com/container-storage-interface/spec/lib/go/csi"
- "github.com/chrislusf/seaweedfs/weed/glog"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
@@ -35,8 +35,9 @@ type SeaweedFsDriver struct {
vcap []*csi.VolumeCapability_AccessMode
cscap []*csi.ControllerServiceCapability
- filer string
- grpcDialOption grpc.DialOption
+ filer string
+ grpcDialOption grpc.DialOption
+ ConcurrentWriters int
}
func NewSeaweedFsDriver(filer, nodeID, endpoint string) *SeaweedFsDriver {
diff --git a/pkg/driver/mounter_seaweedfs.go b/pkg/driver/mounter_seaweedfs.go
index 848da85..2464485 100644
--- a/pkg/driver/mounter_seaweedfs.go
+++ b/pkg/driver/mounter_seaweedfs.go
@@ -35,6 +35,9 @@ func (seaweedFs *seaweedFsMounter) Mount(target string) error {
fmt.Sprintf("-filer=%s", seaweedFs.driver.filer),
fmt.Sprintf("-filer.path=/buckets/%s", seaweedFs.bucketName),
}
+ if seaweedFs.driver.ConcurrentWriters > 0 {
+ args = append(args, fmt.Sprintf("-concurrentWriters %d", seaweedFs.driver.ConcurrentWriters))
+ }
err := fuseMount(target, seaweedFsCmd, args)
if err != nil {
glog.Errorf("mount %s%s to %s: %s", seaweedFs.driver.filer, seaweedFs.bucketName, target, err)