fix: allow to restart on disk space full, e.g. in dmCheckDiskSpace
This commit is contained in:
parent
715f53a856
commit
56b32a77a4
|
@ -49,9 +49,15 @@ extern SDiskSpace tsTempSpace;
|
||||||
void osDefaultInit();
|
void osDefaultInit();
|
||||||
void osUpdate();
|
void osUpdate();
|
||||||
void osCleanup();
|
void osCleanup();
|
||||||
|
|
||||||
bool osLogSpaceAvailable();
|
bool osLogSpaceAvailable();
|
||||||
bool osDataSpaceAvailable();
|
bool osDataSpaceAvailable();
|
||||||
bool osTempSpaceAvailable();
|
bool osTempSpaceAvailable();
|
||||||
|
|
||||||
|
bool osLogSpaceSufficient();
|
||||||
|
bool osDataSpaceSufficient();
|
||||||
|
bool osTempSpaceSufficient();
|
||||||
|
|
||||||
void osSetTimezone(const char *timezone);
|
void osSetTimezone(const char *timezone);
|
||||||
void osSetSystemLocale(const char *inLocale, const char *inCharSet);
|
void osSetSystemLocale(const char *inLocale, const char *inCharSet);
|
||||||
|
|
||||||
|
|
|
@ -51,26 +51,14 @@ static int32_t dmInitMonitor() {
|
||||||
|
|
||||||
static bool dmCheckDiskSpace() {
|
static bool dmCheckDiskSpace() {
|
||||||
osUpdate();
|
osUpdate();
|
||||||
if (!osDataSpaceAvailable()) {
|
if (!osDataSpaceSufficient()) {
|
||||||
dError("free disk size: %f GB, too little, require %f GB at least at least , quit",
|
dWarn("free data disk size: %f GB, not sufficient, expected %f GB at least", (double)tsDataSpace.size.avail / 1024.0 / 1024.0 / 1024.0, (double)tsDataSpace.reserved / 1024.0 / 1024.0 / 1024.0);
|
||||||
(double)tsDataSpace.size.avail / 1024.0 / 1024.0 / 1024.0,
|
|
||||||
(double)tsDataSpace.reserved / 1024.0 / 1024.0 / 1024.0);
|
|
||||||
terrno = TSDB_CODE_NO_AVAIL_DISK;
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
if (!osLogSpaceAvailable()) {
|
if (!osLogSpaceSufficient()) {
|
||||||
dError("free disk size: %f GB, too little, require %f GB at least at least, quit",
|
dWarn("free log disk size: %f GB, not sufficient, expected %f GB at least", (double)tsLogSpace.size.avail / 1024.0 / 1024.0 / 1024.0, (double)tsLogSpace.reserved / 1024.0 / 1024.0 / 1024.0);
|
||||||
(double)tsLogSpace.size.avail / 1024.0 / 1024.0 / 1024.0,
|
|
||||||
(double)tsLogSpace.reserved / 1024.0 / 1024.0 / 1024.0);
|
|
||||||
terrno = TSDB_CODE_NO_AVAIL_DISK;
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
if (!osTempSpaceAvailable()) {
|
if (!osTempSpaceSufficient()) {
|
||||||
dError("free disk size: %f GB, too little, require %f GB at least at least, quit",
|
dWarn("free temp disk size: %f GB, not sufficient, expected %f GB at least", (double)tsTempSpace.size.avail / 1024.0 / 1024.0 / 1024.0, (double)tsTempSpace.reserved / 1024.0 / 1024.0 / 1024.0);
|
||||||
(double)tsTempSpace.size.avail / 1024.0 / 1024.0 / 1024.0,
|
|
||||||
(double)tsTempSpace.reserved / 1024.0 / 1024.0 / 1024.0);
|
|
||||||
terrno = TSDB_CODE_NO_AVAIL_DISK;
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,11 +87,17 @@ void osUpdate() {
|
||||||
|
|
||||||
void osCleanup() {}
|
void osCleanup() {}
|
||||||
|
|
||||||
bool osLogSpaceAvailable() { return tsLogSpace.reserved <= tsLogSpace.size.avail; }
|
bool osLogSpaceAvailable() { return tsLogSpace.size.avail > 0; }
|
||||||
|
|
||||||
bool osDataSpaceAvailable() { return tsDataSpace.reserved <= tsDataSpace.size.avail; }
|
bool osDataSpaceAvailable() { return tsDataSpace.size.avail > 0; }
|
||||||
|
|
||||||
bool osTempSpaceAvailable() { return tsTempSpace.reserved <= tsTempSpace.size.avail; }
|
bool osTempSpaceAvailable() { return tsTempSpace.size.avail > 0; }
|
||||||
|
|
||||||
|
bool osLogSpaceSufficient() { return tsLogSpace.size.avail > tsLogSpace.reserved; }
|
||||||
|
|
||||||
|
bool osDataSpaceSufficient() { return tsDataSpace.size.avail > tsDataSpace.reserved; }
|
||||||
|
|
||||||
|
bool osTempSpaceSufficient() { return tsTempSpace.size.avail > tsTempSpace.reserved; }
|
||||||
|
|
||||||
void osSetTimezone(const char *timezone) { taosSetSystemTimezone(timezone, tsTimezoneStr, &tsDaylight, &tsTimezone); }
|
void osSetTimezone(const char *timezone) { taosSetSystemTimezone(timezone, tsTimezoneStr, &tsDaylight, &tsTimezone); }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue