refactor: Set RecordSize of PipeConfig instead of passing it as a parameter
This commit is contained in:
@@ -79,6 +79,7 @@ var recoveryFetchCmd = &cobra.Command{
|
||||
Compression: viper.GetString(compressionFlag),
|
||||
Encryption: viper.GetString(encryptionFlag),
|
||||
Signature: viper.GetString(signatureFlag),
|
||||
RecordSize: viper.GetInt(recordSizeFlag),
|
||||
},
|
||||
config.CryptoConfig{
|
||||
Recipient: recipient,
|
||||
@@ -102,7 +103,6 @@ var recoveryFetchCmd = &cobra.Command{
|
||||
return os.MkdirAll(path, mode)
|
||||
},
|
||||
|
||||
viper.GetInt(recordSizeFlag),
|
||||
viper.GetInt(recordFlag),
|
||||
viper.GetInt(blockFlag),
|
||||
viper.GetString(toFlag),
|
||||
|
||||
@@ -89,7 +89,6 @@ var recoveryIndexCmd = &cobra.Command{
|
||||
Password: viper.GetString(passwordFlag),
|
||||
},
|
||||
|
||||
viper.GetInt(recordSizeFlag),
|
||||
viper.GetInt(recordFlag),
|
||||
viper.GetInt(blockFlag),
|
||||
viper.GetBool(overwriteFlag),
|
||||
|
||||
@@ -64,6 +64,7 @@ var recoveryQueryCmd = &cobra.Command{
|
||||
Compression: viper.GetString(compressionFlag),
|
||||
Encryption: viper.GetString(encryptionFlag),
|
||||
Signature: viper.GetString(signatureFlag),
|
||||
RecordSize: viper.GetInt(recordSizeFlag),
|
||||
},
|
||||
config.CryptoConfig{
|
||||
Recipient: recipient,
|
||||
@@ -71,7 +72,6 @@ var recoveryQueryCmd = &cobra.Command{
|
||||
Password: viper.GetString(passwordFlag),
|
||||
},
|
||||
|
||||
viper.GetInt(recordSizeFlag),
|
||||
viper.GetInt(recordFlag),
|
||||
viper.GetInt(blockFlag),
|
||||
|
||||
|
||||
@@ -220,7 +220,6 @@ func (f *STFS) Initialize(rootProposal string, rootPerm os.FileMode) (root strin
|
||||
f.readOps.GetPipes(),
|
||||
f.readOps.GetCrypto(),
|
||||
|
||||
f.readOps.GetPipes().RecordSize,
|
||||
0,
|
||||
0,
|
||||
true,
|
||||
|
||||
@@ -274,7 +274,6 @@ func (o *Operations) Archive(
|
||||
o.pipes,
|
||||
o.crypto,
|
||||
|
||||
o.pipes.RecordSize,
|
||||
int(lastIndexedRecord),
|
||||
int(lastIndexedBlock),
|
||||
overwrite,
|
||||
|
||||
@@ -122,7 +122,6 @@ func (o *Operations) Delete(name string) error {
|
||||
o.pipes,
|
||||
o.crypto,
|
||||
|
||||
o.pipes.RecordSize,
|
||||
int(lastIndexedRecord),
|
||||
int(lastIndexedBlock),
|
||||
false,
|
||||
|
||||
@@ -141,7 +141,6 @@ func (o *Operations) Move(from string, to string) error {
|
||||
o.pipes,
|
||||
o.crypto,
|
||||
|
||||
o.pipes.RecordSize,
|
||||
int(lastIndexedRecord),
|
||||
int(lastIndexedBlock),
|
||||
false,
|
||||
|
||||
@@ -97,7 +97,6 @@ func (o *Operations) Restore(
|
||||
getDst,
|
||||
mkdirAll,
|
||||
|
||||
o.pipes.RecordSize,
|
||||
int(dbhdr.Record),
|
||||
int(dbhdr.Block),
|
||||
dst,
|
||||
|
||||
@@ -302,7 +302,6 @@ func (o *Operations) Update(
|
||||
o.pipes,
|
||||
o.crypto,
|
||||
|
||||
o.pipes.RecordSize,
|
||||
int(lastIndexedRecord),
|
||||
int(lastIndexedBlock),
|
||||
false,
|
||||
|
||||
@@ -26,7 +26,6 @@ func Fetch(
|
||||
getDst func(path string, mode fs.FileMode) (io.WriteCloser, error),
|
||||
mkdirAll func(path string, mode fs.FileMode) error,
|
||||
|
||||
recordSize int,
|
||||
record int,
|
||||
block int,
|
||||
to string,
|
||||
@@ -39,7 +38,7 @@ func Fetch(
|
||||
var tr *tar.Reader
|
||||
if reader.DriveIsRegular {
|
||||
// Seek to record and block
|
||||
if _, err := reader.Drive.Seek(int64((recordSize*mtio.BlockSize*record)+block*mtio.BlockSize), io.SeekStart); err != nil {
|
||||
if _, err := reader.Drive.Seek(int64((pipes.RecordSize*mtio.BlockSize*record)+block*mtio.BlockSize), io.SeekStart); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -51,7 +50,7 @@ func Fetch(
|
||||
}
|
||||
|
||||
// Seek to block
|
||||
br := bufio.NewReaderSize(drive.Drive, mtio.BlockSize*recordSize)
|
||||
br := bufio.NewReaderSize(drive.Drive, mtio.BlockSize*pipes.RecordSize)
|
||||
if _, err := br.Read(make([]byte, block*mtio.BlockSize)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -26,7 +26,6 @@ func Index(
|
||||
pipes config.PipeConfig,
|
||||
crypto config.CryptoConfig,
|
||||
|
||||
recordSize int,
|
||||
record int,
|
||||
block int,
|
||||
overwrite bool,
|
||||
@@ -51,7 +50,7 @@ func Index(
|
||||
|
||||
if reader.DriveIsRegular {
|
||||
// Seek to record and block
|
||||
if _, err := reader.Drive.Seek(int64((recordSize*mtio.BlockSize*record)+block*mtio.BlockSize), 0); err != nil {
|
||||
if _, err := reader.Drive.Seek(int64((pipes.RecordSize*mtio.BlockSize*record)+block*mtio.BlockSize), 0); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -71,19 +70,19 @@ func Index(
|
||||
}
|
||||
|
||||
nextTotalBlocks := math.Ceil(float64((curr)) / float64(mtio.BlockSize))
|
||||
record = int64(nextTotalBlocks) / int64(recordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(recordSize))
|
||||
record = int64(nextTotalBlocks) / int64(pipes.RecordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(pipes.RecordSize))
|
||||
|
||||
if block < 0 {
|
||||
record--
|
||||
block = int64(recordSize) - 1
|
||||
} else if block >= int64(recordSize) {
|
||||
block = int64(pipes.RecordSize) - 1
|
||||
} else if block >= int64(pipes.RecordSize) {
|
||||
record++
|
||||
block = 0
|
||||
}
|
||||
|
||||
// Seek to record and block
|
||||
if _, err := reader.Drive.Seek(int64((recordSize*mtio.BlockSize*int(record))+int(block)*mtio.BlockSize), io.SeekStart); err != nil {
|
||||
if _, err := reader.Drive.Seek(int64((pipes.RecordSize*mtio.BlockSize*int(record))+int(block)*mtio.BlockSize), io.SeekStart); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -138,10 +137,10 @@ func Index(
|
||||
}
|
||||
|
||||
nextTotalBlocks := math.Ceil(float64(curr+(currAndSize-curr)) / float64(mtio.BlockSize))
|
||||
record = int64(nextTotalBlocks) / int64(recordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(recordSize))
|
||||
record = int64(nextTotalBlocks) / int64(pipes.RecordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(pipes.RecordSize))
|
||||
|
||||
if block > int64(recordSize) {
|
||||
if block > int64(pipes.RecordSize) {
|
||||
record++
|
||||
block = 0
|
||||
}
|
||||
@@ -155,7 +154,7 @@ func Index(
|
||||
}
|
||||
|
||||
// Seek to block
|
||||
br := bufio.NewReaderSize(drive.Drive, mtio.BlockSize*recordSize)
|
||||
br := bufio.NewReaderSize(drive.Drive, mtio.BlockSize*pipes.RecordSize)
|
||||
if _, err := br.Read(make([]byte, block*mtio.BlockSize)); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -163,7 +162,7 @@ func Index(
|
||||
record := int64(record)
|
||||
block := int64(block)
|
||||
|
||||
curr := int64((recordSize * mtio.BlockSize * int(record)) + (int(block) * mtio.BlockSize))
|
||||
curr := int64((pipes.RecordSize * mtio.BlockSize * int(record)) + (int(block) * mtio.BlockSize))
|
||||
counter := &ioext.CounterReader{Reader: br, BytesRead: int(curr)}
|
||||
i := 0
|
||||
|
||||
@@ -184,8 +183,8 @@ func Index(
|
||||
}
|
||||
block = 0
|
||||
|
||||
br = bufio.NewReaderSize(drive.Drive, mtio.BlockSize*recordSize)
|
||||
curr = int64(int64(recordSize) * mtio.BlockSize * record)
|
||||
br = bufio.NewReaderSize(drive.Drive, mtio.BlockSize*pipes.RecordSize)
|
||||
curr = int64(int64(pipes.RecordSize) * mtio.BlockSize * record)
|
||||
counter = &ioext.CounterReader{Reader: br, BytesRead: int(curr)}
|
||||
tr = tar.NewReader(counter)
|
||||
|
||||
@@ -218,10 +217,10 @@ func Index(
|
||||
currAndSize := int64(counter.BytesRead)
|
||||
|
||||
nextTotalBlocks := math.Ceil(float64(curr+(currAndSize-curr)) / float64(mtio.BlockSize))
|
||||
record = int64(nextTotalBlocks) / int64(recordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(recordSize))
|
||||
record = int64(nextTotalBlocks) / int64(pipes.RecordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(pipes.RecordSize))
|
||||
|
||||
if block > int64(recordSize) {
|
||||
if block > int64(pipes.RecordSize) {
|
||||
record++
|
||||
block = 0
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ func Query(
|
||||
pipes config.PipeConfig,
|
||||
crypto config.CryptoConfig,
|
||||
|
||||
recordSize int,
|
||||
record int,
|
||||
block int,
|
||||
|
||||
@@ -30,7 +29,7 @@ func Query(
|
||||
|
||||
if state.DriveIsRegular {
|
||||
// Seek to record and block
|
||||
if _, err := state.Drive.Seek(int64((recordSize*mtio.BlockSize*record)+block*mtio.BlockSize), 0); err != nil {
|
||||
if _, err := state.Drive.Seek(int64((pipes.RecordSize*mtio.BlockSize*record)+block*mtio.BlockSize), 0); err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
|
||||
@@ -49,19 +48,19 @@ func Query(
|
||||
}
|
||||
|
||||
nextTotalBlocks := math.Ceil(float64((curr)) / float64(mtio.BlockSize))
|
||||
record = int64(nextTotalBlocks) / int64(recordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(recordSize))
|
||||
record = int64(nextTotalBlocks) / int64(pipes.RecordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(pipes.RecordSize))
|
||||
|
||||
if block < 0 {
|
||||
record--
|
||||
block = int64(recordSize) - 1
|
||||
} else if block >= int64(recordSize) {
|
||||
block = int64(pipes.RecordSize) - 1
|
||||
} else if block >= int64(pipes.RecordSize) {
|
||||
record++
|
||||
block = 0
|
||||
}
|
||||
|
||||
// Seek to record and block
|
||||
if _, err := state.Drive.Seek(int64((recordSize*mtio.BlockSize*int(record))+int(block)*mtio.BlockSize), io.SeekStart); err != nil {
|
||||
if _, err := state.Drive.Seek(int64((pipes.RecordSize*mtio.BlockSize*int(record))+int(block)*mtio.BlockSize), io.SeekStart); err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
|
||||
@@ -122,10 +121,10 @@ func Query(
|
||||
}
|
||||
|
||||
nextTotalBlocks := math.Ceil(float64(curr+(currAndSize-curr)) / float64(mtio.BlockSize))
|
||||
record = int64(nextTotalBlocks) / int64(recordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(recordSize))
|
||||
record = int64(nextTotalBlocks) / int64(pipes.RecordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(pipes.RecordSize))
|
||||
|
||||
if block > int64(recordSize) {
|
||||
if block > int64(pipes.RecordSize) {
|
||||
record++
|
||||
block = 0
|
||||
}
|
||||
@@ -137,7 +136,7 @@ func Query(
|
||||
}
|
||||
|
||||
// Seek to block
|
||||
br := bufio.NewReaderSize(state.Drive, mtio.BlockSize*recordSize)
|
||||
br := bufio.NewReaderSize(state.Drive, mtio.BlockSize*pipes.RecordSize)
|
||||
if _, err := br.Read(make([]byte, block*mtio.BlockSize)); err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
@@ -145,7 +144,7 @@ func Query(
|
||||
record := int64(record)
|
||||
block := int64(block)
|
||||
|
||||
curr := int64((recordSize * mtio.BlockSize * int(record)) + (int(block) * mtio.BlockSize))
|
||||
curr := int64((pipes.RecordSize * mtio.BlockSize * int(record)) + (int(block) * mtio.BlockSize))
|
||||
counter := &ioext.CounterReader{Reader: br, BytesRead: int(curr)}
|
||||
|
||||
tr := tar.NewReader(counter)
|
||||
@@ -165,8 +164,8 @@ func Query(
|
||||
}
|
||||
block = 0
|
||||
|
||||
br = bufio.NewReaderSize(state.Drive, mtio.BlockSize*recordSize)
|
||||
curr := int64(int64(recordSize) * mtio.BlockSize * record)
|
||||
br = bufio.NewReaderSize(state.Drive, mtio.BlockSize*pipes.RecordSize)
|
||||
curr := int64(int64(pipes.RecordSize) * mtio.BlockSize * record)
|
||||
counter := &ioext.CounterReader{Reader: br, BytesRead: int(curr)}
|
||||
tr = tar.NewReader(counter)
|
||||
|
||||
@@ -202,10 +201,10 @@ func Query(
|
||||
currAndSize := int64(counter.BytesRead)
|
||||
|
||||
nextTotalBlocks := math.Ceil(float64(curr+(currAndSize-curr)) / float64(mtio.BlockSize))
|
||||
record = int64(nextTotalBlocks) / int64(recordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(recordSize))
|
||||
record = int64(nextTotalBlocks) / int64(pipes.RecordSize)
|
||||
block = int64(nextTotalBlocks) - (record * int64(pipes.RecordSize))
|
||||
|
||||
if block > int64(recordSize) {
|
||||
if block > int64(pipes.RecordSize) {
|
||||
record++
|
||||
block = 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user