|
|
@ -2,11 +2,30 @@ package filer |
|
|
|
|
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
"github.com/chrislusf/seaweedfs/weed/pb" |
|
|
|
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb" |
|
|
|
"github.com/chrislusf/seaweedfs/weed/pb/remote_pb" |
|
|
|
"github.com/golang/protobuf/proto" |
|
|
|
"google.golang.org/grpc" |
|
|
|
) |
|
|
|
|
|
|
|
func ReadMountMappings(grpcDialOption grpc.DialOption, filerAddress string) (mappings *remote_pb.RemoteStorageMapping, readErr error) { |
|
|
|
var oldContent []byte |
|
|
|
if readErr = pb.WithFilerClient(filerAddress, grpcDialOption, func(client filer_pb.SeaweedFilerClient) error { |
|
|
|
oldContent, readErr = ReadInsideFiler(client, DirectoryEtcRemote, REMOTE_STORAGE_MOUNT_FILE) |
|
|
|
return readErr |
|
|
|
}); readErr != nil { |
|
|
|
return nil, readErr |
|
|
|
} |
|
|
|
|
|
|
|
mappings, readErr = UnmarshalRemoteStorageMappings(oldContent) |
|
|
|
if readErr != nil { |
|
|
|
return nil, fmt.Errorf("unmarshal mappings: %v", readErr) |
|
|
|
} |
|
|
|
|
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
func InsertMountMapping(filerClient filer_pb.FilerClient, dir string, remoteStorageLocation *remote_pb.RemoteStorageLocation) (err error) { |
|
|
|
|
|
|
|
// read current mapping
|
|
|
|