Browse Source
Support Linux file/dir ACL in weed mount (#8233 )
* Support Linux file/dir ACL in weed mount #8229
* Update weed/command/mount_std.go
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
pull/8026/merge
Chris Lu
2 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
11 additions and
2 deletions
weed/command/mount.go
weed/command/mount_std.go
@ -24,6 +24,7 @@ type MountOptions struct {
cacheSizeMBForRead * int64
dataCenter * string
allowOthers * bool
defaultPermissions * bool
umaskString * string
nonempty * bool
volumeServerAccess * string
@ -86,6 +87,7 @@ func init() {
mountOptions . cacheMetaTtlSec = cmdMount . Flag . Int ( "cacheMetaTtlSec" , 60 , "metadata cache validity seconds" )
mountOptions . dataCenter = cmdMount . Flag . String ( "dataCenter" , "" , "prefer to write to the data center" )
mountOptions . allowOthers = cmdMount . Flag . Bool ( "allowOthers" , true , "allows other users to access the file system" )
mountOptions . defaultPermissions = cmdMount . Flag . Bool ( "defaultPermissions" , true , "enforce permissions by the operating system" )
mountOptions . umaskString = cmdMount . Flag . String ( "umask" , "022" , "octal umask, e.g., 022, 0111" )
mountOptions . nonempty = cmdMount . Flag . Bool ( "nonempty" , false , "allows the mounting over a non-empty directory" )
mountOptions . volumeServerAccess = cmdMount . Flag . String ( "volumeServerAccess" , "direct" , "access volume servers by [direct|publicUrl|filerProxy]" )
@ -188,6 +188,9 @@ func RunMount(option *MountOptions, umask os.FileMode) bool {
//SyncRead: false, // set to false to enable the FUSE_CAP_ASYNC_READ capability
EnableAcl : true ,
}
if * option . defaultPermissions {
fuseMountOptions . Options = append ( fuseMountOptions . Options , "default_permissions" )
}
if * option . nonempty {
fuseMountOptions . Options = append ( fuseMountOptions . Options , "nonempty" )
}
@ -216,8 +219,12 @@ func RunMount(option *MountOptions, umask os.FileMode) bool {
fuseMountOptions . Options = append ( fuseMountOptions . Options , fmt . Sprintf ( "iosize=%d" , ioSizeMB * 1024 * 1024 ) )
}
fuseMountOptions . EnableWriteback = * option . writebackCache
fuseMountOptions . EnableAsyncDio = * option . asyncDio
if option . writebackCache != nil {
fuseMountOptions . EnableWriteback = * option . writebackCache
}
if option . asyncDio != nil {
fuseMountOptions . EnableAsyncDio = * option . asyncDio
}
if option . cacheSymlink != nil && * option . cacheSymlink {
fuseMountOptions . EnableSymlinkCaching = true
}