mirror of https://github.com/minio/minio.git
				
				
				
			
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Go
		
	
	
	
| /*
 | |
|  * Minio Cloud Storage, (C) 2016 Minio, Inc.
 | |
|  *
 | |
|  * Licensed under the Apache License, Version 2.0 (the "License");
 | |
|  * you may not use this file except in compliance with the License.
 | |
|  * You may obtain a copy of the License at
 | |
|  *
 | |
|  *     http://www.apache.org/licenses/LICENSE-2.0
 | |
|  *
 | |
|  * Unless required by applicable law or agreed to in writing, software
 | |
|  * distributed under the License is distributed on an "AS IS" BASIS,
 | |
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  * See the License for the specific language governing permissions and
 | |
|  * limitations under the License.
 | |
|  */
 | |
| 
 | |
| package cmd
 | |
| 
 | |
| // HealListArgs - argument for ListObjects RPC.
 | |
| type HealListArgs struct {
 | |
| 	Bucket    string
 | |
| 	Prefix    string
 | |
| 	Marker    string
 | |
| 	Delimiter string
 | |
| 	MaxKeys   int
 | |
| }
 | |
| 
 | |
| // HealListReply - reply by ListObjects RPC.
 | |
| type HealListReply struct {
 | |
| 	IsTruncated bool
 | |
| 	NextMarker  string
 | |
| 	Objects     []string
 | |
| }
 | |
| 
 | |
| // ListObjects - list all objects that needs healing.
 | |
| func (c *controllerAPIHandlers) ListObjectsHeal(arg *HealListArgs, reply *HealListReply) error {
 | |
| 	objAPI := c.ObjectAPI
 | |
| 	if objAPI == nil {
 | |
| 		return errInvalidArgument
 | |
| 	}
 | |
| 	info, err := objAPI.ListObjectsHeal(arg.Bucket, arg.Prefix, arg.Marker, arg.Delimiter, arg.MaxKeys)
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 	reply.IsTruncated = info.IsTruncated
 | |
| 	reply.NextMarker = info.NextMarker
 | |
| 	for _, obj := range info.Objects {
 | |
| 		reply.Objects = append(reply.Objects, obj.Name)
 | |
| 	}
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| // HealObjectArgs - argument for HealObject RPC.
 | |
| type HealObjectArgs struct {
 | |
| 	Bucket string
 | |
| 	Object string
 | |
| }
 | |
| 
 | |
| // HealObjectReply - reply by HealObject RPC.
 | |
| type HealObjectReply struct{}
 | |
| 
 | |
| // HealObject - heal the object.
 | |
| func (c *controllerAPIHandlers) HealObject(arg *HealObjectArgs, reply *HealObjectReply) error {
 | |
| 	objAPI := c.ObjectAPI
 | |
| 	if objAPI == nil {
 | |
| 		return errInvalidArgument
 | |
| 	}
 | |
| 	return objAPI.HealObject(arg.Bucket, arg.Object)
 | |
| }
 | |
| 
 | |
| // ShutdownArgs - argument for Shutdown RPC.
 | |
| type ShutdownArgs struct {
 | |
| 	Reboot bool
 | |
| }
 | |
| 
 | |
| // ShutdownReply - reply by Shutdown RPC.
 | |
| type ShutdownReply struct{}
 | |
| 
 | |
| // Shutdown - Shutdown the server.
 | |
| 
 | |
| func (c *controllerAPIHandlers) Shutdown(arg *ShutdownArgs, reply *ShutdownReply) error {
 | |
| 	if arg.Reboot {
 | |
| 		globalShutdownSignalCh <- shutdownRestart
 | |
| 	} else {
 | |
| 		globalShutdownSignalCh <- shutdownHalt
 | |
| 	}
 | |
| 	return nil
 | |
| }
 |