refactor: Introduce config struct for operations

This commit is contained in:
Felicitas Pojtinger
2021-12-15 01:33:01 +01:00
parent 1ea34eb02a
commit 479def3d80
12 changed files with 138 additions and 155 deletions
+12 -14
View File
@@ -18,24 +18,24 @@ func (o *Operations) Delete(name string) error {
o.diskOperationLock.Lock()
defer o.diskOperationLock.Unlock()
writer, err := o.getWriter()
writer, err := o.backend.GetWriter()
if err != nil {
return err
}
dirty := false
tw, cleanup, err := tarext.NewTapeWriter(writer.Drive, writer.DriveIsRegular, o.recordSize)
tw, cleanup, err := tarext.NewTapeWriter(writer.Drive, writer.DriveIsRegular, o.pipes.RecordSize)
if err != nil {
return err
}
lastIndexedRecord, lastIndexedBlock, err := o.metadataPersister.GetLastIndexedRecordAndBlock(context.Background(), o.recordSize)
lastIndexedRecord, lastIndexedBlock, err := o.metadata.Metadata.GetLastIndexedRecordAndBlock(context.Background(), o.pipes.RecordSize)
if err != nil {
return err
}
headersToDelete := []*models.Header{}
dbhdr, err := o.metadataPersister.GetHeader(context.Background(), name)
dbhdr, err := o.metadata.Metadata.GetHeader(context.Background(), name)
if err != nil {
return err
}
@@ -43,7 +43,7 @@ func (o *Operations) Delete(name string) error {
// If the header refers to a directory, get it's children
if dbhdr.Typeflag == tar.TypeDir {
dbhdrs, err := o.metadataPersister.GetHeaderChildren(context.Background(), name)
dbhdrs, err := o.metadata.Metadata.GetHeaderChildren(context.Background(), name)
if err != nil {
return err
}
@@ -93,32 +93,30 @@ func (o *Operations) Delete(name string) error {
return err
}
if err := o.closeWriter(); err != nil {
if err := o.backend.CloseWriter(); err != nil {
return err
}
reader, err := o.getReader()
reader, err := o.backend.GetReader()
if err != nil {
return err
}
defer o.closeReader()
defer o.backend.CloseReader()
drive, err := o.getDrive()
drive, err := o.backend.GetDrive()
if err != nil {
return err
}
defer o.closeDrive()
defer o.backend.CloseDrive()
return recovery.Index(
reader,
drive,
config.MetadataConfig{
Metadata: o.metadataPersister,
},
o.metadata,
o.pipes,
o.crypto,
o.recordSize,
o.pipes.RecordSize,
int(lastIndexedRecord),
int(lastIndexedBlock),
false,