diff options
| author | Chris Lu <chris.lu@gmail.com> | 2021-08-20 15:44:08 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2021-08-20 15:44:10 -0700 |
| commit | 670cf9f2da9c3d7fb629352aab00e72659bddb3c (patch) | |
| tree | 116a81f822442570afe33823756e4d4996760493 | |
| parent | c2653601dcf36e87b98b2eda655697b5402419c9 (diff) | |
| download | seaweedfs-csi-driver-670cf9f2da9c3d7fb629352aab00e72659bddb3c.tar.xz seaweedfs-csi-driver-670cf9f2da9c3d7fb629352aab00e72659bddb3c.zip | |
map uid and gid via explicit CLI
| -rw-r--r-- | cmd/seaweedfs-csi-driver/main.go | 4 | ||||
| -rw-r--r-- | pkg/driver/driver.go | 2 | ||||
| -rw-r--r-- | pkg/driver/mounter_seaweedfs.go | 9 |
3 files changed, 15 insertions, 0 deletions
diff --git a/cmd/seaweedfs-csi-driver/main.go b/cmd/seaweedfs-csi-driver/main.go index 1320de0..52a6249 100644 --- a/cmd/seaweedfs-csi-driver/main.go +++ b/cmd/seaweedfs-csi-driver/main.go @@ -18,6 +18,8 @@ var ( 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") + uidMap = flag.String("map.uid", "", "map local uid to uid on filer, comma-separated <local_uid>:<filer_uid>") + gidMap = flag.String("map.gid", "", "map local gid to gid on filer, comma-separated <local_gid>:<filer_gid>") ) func main() { @@ -39,5 +41,7 @@ func main() { drv.ConcurrentWriters = *concurrentWriters drv.CacheSizeMB = *cacheSizeMB drv.CacheDir = *cacheDir + drv.UidMap = *uidMap + drv.GidMap = *gidMap drv.Run() } diff --git a/pkg/driver/driver.go b/pkg/driver/driver.go index d6191c6..641d817 100644 --- a/pkg/driver/driver.go +++ b/pkg/driver/driver.go @@ -40,6 +40,8 @@ type SeaweedFsDriver struct { ConcurrentWriters int CacheSizeMB int64 CacheDir string + UidMap string + GidMap string } func NewSeaweedFsDriver(filer, nodeID, endpoint string) *SeaweedFsDriver { diff --git a/pkg/driver/mounter_seaweedfs.go b/pkg/driver/mounter_seaweedfs.go index c46d8c4..5b9ccb1 100644 --- a/pkg/driver/mounter_seaweedfs.go +++ b/pkg/driver/mounter_seaweedfs.go @@ -39,6 +39,9 @@ func (seaweedFs *seaweedFsMounter) Mount(target string) error { fmt.Sprintf("-cacheCapacityMB=%d", seaweedFs.driver.CacheSizeMB), } + // came from https://github.com/seaweedfs/seaweedfs-csi-driver/pull/12 + // preferring explicit settings + // keeping this for backward compatibility for arg, value := range seaweedFs.volContext { switch arg { case "map.uid": @@ -54,6 +57,12 @@ func (seaweedFs *seaweedFsMounter) Mount(target string) error { if seaweedFs.driver.CacheDir != "" { args = append(args, fmt.Sprintf("-cacheDir=%s", seaweedFs.driver.CacheDir)) } + if seaweedFs.driver.UidMap != "" { + args = append(args, fmt.Sprintf("-map.uid=%s", seaweedFs.driver.UidMap)) + } + if seaweedFs.driver.GidMap != "" { + args = append(args, fmt.Sprintf("-map.gid=%s", seaweedFs.driver.GidMap)) + } err := fuseMount(target, seaweedFsCmd, args) if err != nil { glog.Errorf("mount %s %s to %s: %s", seaweedFs.driver.filer, seaweedFs.bucketName, target, err) |
