Disable delete after shred was once started. (#69)
documented here: #65 Reviewed-on: #69 Co-authored-by: localhorst <localhorst@mosad.xyz> Co-committed-by: localhorst <localhorst@mosad.xyz>
This commit is contained in:
parent
6dd4c44688
commit
1055ef57ee
@ -34,6 +34,7 @@ public:
|
||||
} sShredSpeed;
|
||||
|
||||
bool bWasShredded = false; // all shred iterations done
|
||||
bool bWasShredStarted = false; // shred was atleast once started
|
||||
bool bWasChecked = false; // all shred iterations and optional checking done
|
||||
bool bWasDeleted = false;
|
||||
bool bIsOffline = false;
|
||||
|
@ -32,11 +32,15 @@ void Delete::deleteDrive(Drive *drive)
|
||||
const char *cpComand = sCMD.c_str();
|
||||
// cout << "delete: " << cpComand << endl;
|
||||
|
||||
FILE *deleteCmdOutput = popen(cpComand, "r");
|
||||
|
||||
while ((getline(&cLine, &len, deleteCmdOutput)) != -1)
|
||||
if (drive->bWasShredStarted == false)
|
||||
{
|
||||
// wipefs running
|
||||
//only start delete if the drive was not shredded before
|
||||
FILE *deleteCmdOutput = popen(cpComand, "r");
|
||||
|
||||
while ((getline(&cLine, &len, deleteCmdOutput)) != -1)
|
||||
{
|
||||
// wipefs running
|
||||
}
|
||||
pclose(deleteCmdOutput);
|
||||
}
|
||||
pclose(deleteCmdOutput);
|
||||
}
|
||||
|
@ -36,6 +36,7 @@ int Shred::shredDrive(Drive *drive, int *ipSignalFd)
|
||||
ostringstream address;
|
||||
address << (void const *)&(*drive);
|
||||
Logger::logThis()->info("Shred-Task started - Drive: " + drive->getModelName() + "-" + drive->getSerial() + " @" + address.str());
|
||||
drive->bWasShredStarted = true; //Mark drive as partly shredded
|
||||
|
||||
#ifdef DRYRUN
|
||||
for (int i = 0; i <= 500; i++)
|
||||
@ -48,6 +49,7 @@ int Shred::shredDrive(Drive *drive, int *ipSignalFd)
|
||||
write(*ipSignalFd, "A", 1);
|
||||
usleep(20000);
|
||||
}
|
||||
drive->bWasShredded = true;
|
||||
#endif
|
||||
|
||||
#ifndef DRYRUN
|
||||
|
Loading…
Reference in New Issue
Block a user