aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/seaweedfs-csi-driver/main.go2
-rw-r--r--deploy/kubernetes/seaweedfs-csi.yaml6
-rw-r--r--pkg/driver/driver.go1
-rw-r--r--pkg/driver/mounter_seaweedfs.go3
4 files changed, 12 insertions, 0 deletions
diff --git a/cmd/seaweedfs-csi-driver/main.go b/cmd/seaweedfs-csi-driver/main.go
index e83b0b5..1320de0 100644
--- a/cmd/seaweedfs-csi-driver/main.go
+++ b/cmd/seaweedfs-csi-driver/main.go
@@ -17,6 +17,7 @@ var (
version = flag.Bool("version", false, "Print the version and exit.")
concurrentWriters = flag.Int("concurrentWriters", 32, "limit concurrent goroutine writers if not 0")
cacheSizeMB = flag.Int64("cacheCapacityMB", 1000, "local file chunk cache capacity in MB (0 will disable cache)")
+ cacheDir = flag.String("cacheDir", os.TempDir(), "local cache directory for file chunks and meta data")
)
func main() {
@@ -37,5 +38,6 @@ func main() {
drv := driver.NewSeaweedFsDriver(*filer, *nodeID, *endpoint)
drv.ConcurrentWriters = *concurrentWriters
drv.CacheSizeMB = *cacheSizeMB
+ drv.CacheDir = *cacheDir
drv.Run()
}
diff --git a/deploy/kubernetes/seaweedfs-csi.yaml b/deploy/kubernetes/seaweedfs-csi.yaml
index 2317fc4..6953482 100644
--- a/deploy/kubernetes/seaweedfs-csi.yaml
+++ b/deploy/kubernetes/seaweedfs-csi.yaml
@@ -298,6 +298,7 @@ spec:
- "--filer=$(SEAWEEDFS_FILER)"
- "--nodeid=$(NODE_ID)"
- "--cacheCapacityMB=$(SEAWEEDFS_CACHE_CAPACITY_MB)"
+ - "--cacheDir=$(SEAWEEDFS_CACHE_DIR)"
env:
- name: CSI_ENDPOINT
value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
@@ -309,6 +310,8 @@ spec:
fieldPath: spec.nodeName
- name: SEAWEEDFS_CACHE_CAPACITY_MB
value: "1000"
+ - name: SEAWEEDFS_CACHE_DIR
+ value: /tmp
imagePullPolicy: "Always"
volumeMounts:
- name: socket-dir
@@ -369,6 +372,7 @@ spec:
- "--filer=$(SEAWEEDFS_FILER)"
- "--nodeid=$(NODE_ID)"
- "--cacheCapacityMB=$(SEAWEEDFS_CACHE_CAPACITY_MB)"
+ - "--cacheDir=$(SEAWEEDFS_CACHE_DIR)"
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
@@ -380,6 +384,8 @@ spec:
fieldPath: spec.nodeName
- name: SEAWEEDFS_CACHE_CAPACITY_MB
value: "1000"
+ - name: SEAWEEDFS_CACHE_DIR
+ value: /tmp
imagePullPolicy: "IfNotPresent"
volumeMounts:
- name: plugin-dir
diff --git a/pkg/driver/driver.go b/pkg/driver/driver.go
index 8307eb8..cad10b6 100644
--- a/pkg/driver/driver.go
+++ b/pkg/driver/driver.go
@@ -39,6 +39,7 @@ type SeaweedFsDriver struct {
grpcDialOption grpc.DialOption
ConcurrentWriters int
CacheSizeMB int64
+ CacheDir string
}
func NewSeaweedFsDriver(filer, nodeID, endpoint string) *SeaweedFsDriver {
diff --git a/pkg/driver/mounter_seaweedfs.go b/pkg/driver/mounter_seaweedfs.go
index 2ed1238..c46d8c4 100644
--- a/pkg/driver/mounter_seaweedfs.go
+++ b/pkg/driver/mounter_seaweedfs.go
@@ -51,6 +51,9 @@ func (seaweedFs *seaweedFsMounter) Mount(target string) error {
if seaweedFs.driver.ConcurrentWriters > 0 {
args = append(args, fmt.Sprintf("-concurrentWriters=%d", seaweedFs.driver.ConcurrentWriters))
}
+ if seaweedFs.driver.CacheDir != "" {
+ args = append(args, fmt.Sprintf("-cacheDir=%s", seaweedFs.driver.CacheDir))
+ }
err := fuseMount(target, seaweedFsCmd, args)
if err != nil {
glog.Errorf("mount %s %s to %s: %s", seaweedFs.driver.filer, seaweedFs.bucketName, target, err)