@ -8,6 +8,7 @@ import (
"strconv"
"strconv"
"github.com/codegangsta/cli"
"github.com/codegangsta/cli"
"github.com/minio-io/minio/pkgs/checksum/crc32c"
"github.com/minio-io/minio/pkgs/erasure"
"github.com/minio-io/minio/pkgs/erasure"
"github.com/minio-io/minio/pkgs/split"
"github.com/minio-io/minio/pkgs/split"
)
)
@ -47,6 +48,12 @@ func encode(c *cli.Context) {
if config . blockSize == 0 {
if config . blockSize == 0 {
encodedData , length := encoder . Encode ( input )
encodedData , length := encoder . Encode ( input )
for key , data := range encodedData {
for key , data := range encodedData {
crc , err := crc32c . Crc32c ( data )
if err != nil {
log . Fatal ( err )
}
crcString := strconv . Itoa ( int ( crc ) )
ioutil . WriteFile ( config . output + "." + strconv . Itoa ( key ) + ".cksum" , [ ] byte ( crcString ) , 0600 )
ioutil . WriteFile ( config . output + "." + strconv . Itoa ( key ) , data , 0600 )
ioutil . WriteFile ( config . output + "." + strconv . Itoa ( key ) , data , 0600 )
ioutil . WriteFile ( config . output + ".length" , [ ] byte ( strconv . Itoa ( length ) ) , 0600 )
ioutil . WriteFile ( config . output + ".length" , [ ] byte ( strconv . Itoa ( length ) ) , 0600 )
}
}
@ -61,9 +68,15 @@ func encode(c *cli.Context) {
}
}
encodedData , length := encoder . Encode ( chunk . Data )
encodedData , length := encoder . Encode ( chunk . Data )
for key , data := range encodedData {
for key , data := range encodedData {
crc , err := crc32c . Crc32c ( data )
if err != nil {
log . Fatal ( err )
}
crcString := strconv . Itoa ( int ( crc ) )
ioutil . WriteFile ( config . output + "." + strconv . Itoa ( chunkCount ) + "." + strconv . Itoa ( key ) + ".cksum" , [ ] byte ( crcString ) , 0600 )
ioutil . WriteFile ( config . output + "." + strconv . Itoa ( chunkCount ) + "." + strconv . Itoa ( key ) , data , 0600 )
ioutil . WriteFile ( config . output + "." + strconv . Itoa ( chunkCount ) + "." + strconv . Itoa ( key ) , data , 0600 )
ioutil . WriteFile ( config . output + "." + strconv . Itoa ( chunkCount ) + ".length" , [ ] byte ( strconv . Itoa ( length ) ) , 0600 )
}
}
ioutil . WriteFile ( config . output + "." + strconv . Itoa ( chunkCount ) + ".length" , [ ] byte ( strconv . Itoa ( length ) ) , 0600 )
chunkCount += 1
chunkCount += 1
}
}
}
}