aboutsummaryrefslogtreecommitdiff
path: root/weed/command/mount_std.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/command/mount_std.go')
-rw-r--r--weed/command/mount_std.go33
1 files changed, 18 insertions, 15 deletions
diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go
index 550921188..3d2f267bc 100644
--- a/weed/command/mount_std.go
+++ b/weed/command/mount_std.go
@@ -141,26 +141,13 @@ func RunMount(option *MountOptions, umask os.FileMode) bool {
options = append(options, fuse.AllowNonEmptyMount())
}
- // mount
- c, err := fuse.Mount(dir, options...)
- if err != nil {
- glog.V(0).Infof("mount: %v", err)
- return true
- }
- defer fuse.Unmount(dir)
-
- grace.OnInterrupt(func() {
- fuse.Unmount(dir)
- c.Close()
- })
-
// find mount point
mountRoot := filerMountRootPath
if mountRoot != "/" && strings.HasSuffix(mountRoot, "/") {
mountRoot = mountRoot[0 : len(mountRoot)-1]
}
- err = fs.Serve(c, filesys.NewSeaweedFileSystem(&filesys.Option{
+ seaweedFileSystem := filesys.NewSeaweedFileSystem(&filesys.Option{
FilerGrpcAddress: filerGrpcAddress,
GrpcDialOption: grpcDialOption,
FilerMountRootPath: mountRoot,
@@ -182,7 +169,23 @@ func RunMount(option *MountOptions, umask os.FileMode) bool {
OutsideContainerClusterMode: *mountOptions.outsideContainerClusterMode,
AsyncMetaDataCaching: *mountOptions.asyncMetaDataCaching,
Cipher: cipher,
- }))
+ })
+
+ // mount
+ c, err := fuse.Mount(dir, options...)
+ if err != nil {
+ glog.V(0).Infof("mount: %v", err)
+ return true
+ }
+ defer fuse.Unmount(dir)
+
+ grace.OnInterrupt(func() {
+ fuse.Unmount(dir)
+ c.Close()
+ })
+
+ glog.V(0).Infof("mounted %s%s to %s", filer, mountRoot, dir)
+ err = fs.Serve(c, seaweedFileSystem)
// check if the mount process has an error to report
<-c.Ready