Implement add, commit - instead of put, encoded
This commit is contained in:
57
cmd/minio/commit.go
Normal file
57
cmd/minio/commit.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"github.com/codegangsta/cli"
|
||||
)
|
||||
|
||||
func cleanupStagingDir(stagingDir string) {
|
||||
filelist, err := ioutil.ReadDir(stagingDir)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
for _, file := range filelist {
|
||||
_file := path.Join(stagingDir, file.Name())
|
||||
if err := os.Remove(_file); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func commit(c *cli.Context) {
|
||||
config, err := parseInput(c)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
var objectName string
|
||||
switch len(c.Args()) {
|
||||
case 1:
|
||||
objectName = c.Args().Get(0)
|
||||
default:
|
||||
log.Fatal("Please specify a valid object name \n # erasure-demo encode [OBJECTNAME]")
|
||||
}
|
||||
|
||||
// Get from staging area
|
||||
stagingConfig := config
|
||||
stagingConfig.k = 2
|
||||
stagingConfig.m = 1
|
||||
stagingConfig.rootDir = config.stagingDir
|
||||
reader, err := erasureGet(stagingConfig, objectName)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Increase parity to user defined or default 10,6
|
||||
err = erasurePut(config, objectName, reader)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Cleanup stagingDir
|
||||
cleanupStagingDir(config.stagingDir)
|
||||
}
|
||||
Reference in New Issue
Block a user