From 76c7b84418c4c99141c1ffbde2ac2060b2620e1d Mon Sep 17 00:00:00 2001 From: chrislu Date: Sun, 6 Mar 2022 18:52:03 -0800 Subject: support quota fix https://github.com/seaweedfs/seaweedfs-csi-driver/issues/48 --- pkg/driver/controllerserver.go | 1 + pkg/driver/driver.go | 1 + pkg/driver/mounter_seaweedfs.go | 2 ++ 3 files changed, 4 insertions(+) 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), -- cgit v1.2.3