aboutsummaryrefslogtreecommitdiff
path: root/pkg/driver
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-03-06 18:52:03 -0800
committerchrislu <chris.lu@gmail.com>2022-03-06 18:52:03 -0800
commit76c7b84418c4c99141c1ffbde2ac2060b2620e1d (patch)
treed6fbfd8b34d71ea072507b06043f55254d33c419 /pkg/driver
parentdac21204f38e4b177d0bfc11f7e5f17b3ea4355e (diff)
downloadseaweedfs-csi-driver-76c7b84418c4c99141c1ffbde2ac2060b2620e1d.tar.xz
seaweedfs-csi-driver-76c7b84418c4c99141c1ffbde2ac2060b2620e1d.zip
support quota
fix https://github.com/seaweedfs/seaweedfs-csi-driver/issues/48
Diffstat (limited to 'pkg/driver')
-rw-r--r--pkg/driver/controllerserver.go1
-rw-r--r--pkg/driver/driver.go1
-rw-r--r--pkg/driver/mounter_seaweedfs.go2
3 files changed, 4 insertions, 0 deletions
diff --git a/pkg/driver/controllerserver.go b/pkg/driver/controllerserver.go
index c57a72a..88fcd80 100644
--- a/pkg/driver/controllerserver.go
+++ b/pkg/driver/controllerserver.go
@@ -41,6 +41,7 @@ func (cs *ControllerServer) CreateVolume(ctx context.Context, req *csi.CreateVol
params := req.GetParameters()
glog.V(4).Infof("params:%v", params)
capacity := req.GetCapacityRange().GetRequiredBytes()
+ cs.Driver.Capacity = capacity
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 d850dbd..0ae02dc 100644
--- a/pkg/driver/driver.go
+++ b/pkg/driver/driver.go
@@ -43,6 +43,7 @@ type SeaweedFsDriver struct {
CacheDir string
UidMap string
GidMap string
+ Capacity int64
}
func NewSeaweedFsDriver(filer, nodeID, endpoint string) *SeaweedFsDriver {
diff --git a/pkg/driver/mounter_seaweedfs.go b/pkg/driver/mounter_seaweedfs.go
index c4ed3ee..7c64314 100644
--- a/pkg/driver/mounter_seaweedfs.go
+++ b/pkg/driver/mounter_seaweedfs.go
@@ -36,6 +36,7 @@ func (seaweedFs *seaweedFsMounter) Mount(target string) error {
for _, address := range seaweedFs.driver.filers {
filers = append(filers, string(address))
}
+ capacityMB := seaweedFs.driver.Capacity / 1024 / 1024
args := []string{
"-logtostderr=true",
@@ -44,6 +45,7 @@ func (seaweedFs *seaweedFsMounter) Mount(target string) error {
"-umask=000",
fmt.Sprintf("-dir=%s", target),
fmt.Sprintf("-collection=%s", seaweedFs.collection),
+ fmt.Sprintf("-collectionQuotaMB=%d", capacityMB),
fmt.Sprintf("-filer=%s", strings.Join(filers, ",")),
fmt.Sprintf("-filer.path=%s", seaweedFs.path),
fmt.Sprintf("-cacheCapacityMB=%d", seaweedFs.driver.CacheSizeMB),