Changeset: 35aa017955bf for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/35aa017955bf
Branch: Jul2021
Log Message:
merged
diffs (157 lines):
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -393,10 +393,10 @@ recover_dir(int farmid, bool direxists)
/* just try; don't care about these non-vital files */
if (GDKunlink(farmid, BATDIR, "BBP", "bak") != GDK_SUCCEED)
TRC_WARNING(GDK, "unlink of BBP.bak failed\n");
- if (GDKmove(farmid, BATDIR, "BBP", "dir", BATDIR, "BBP", "bak")
!= GDK_SUCCEED)
+ if (GDKmove(farmid, BATDIR, "BBP", "dir", BATDIR, "BBP", "bak",
false) != GDK_SUCCEED)
TRC_WARNING(GDK, "rename of BBP.dir to BBP.bak
failed\n");
}
- return GDKmove(farmid, BAKDIR, "BBP", "dir", BATDIR, "BBP", "dir");
+ return GDKmove(farmid, BAKDIR, "BBP", "dir", BATDIR, "BBP", "dir",
true);
}
static gdk_return BBPrecover(int farmid);
@@ -1088,7 +1088,7 @@ BBPinit(void)
GDKfree(backupbbpdirstr);
goto bailout;
}
- } else if (GDKmove(0, BATDIR, "BBP", "bak", BATDIR,
"BBP", "dir") == GDK_SUCCEED)
+ } else if (GDKmove(0, BATDIR, "BBP", "bak", BATDIR,
"BBP", "dir", true) == GDK_SUCCEED)
TRC_DEBUG(IO_, "reverting to dir saved in
BBP.bak.\n");
if ((fp = GDKfilelocate(0, "BBP", "r", "dir")) == NULL)
{
@@ -2718,7 +2718,7 @@ dirty_bat(bat *i, bool subcommit)
static gdk_return
file_move(int farmid, const char *srcdir, const char *dstdir, const char
*name, const char *ext)
{
- if (GDKmove(farmid, srcdir, name, ext, dstdir, name, ext) ==
GDK_SUCCEED) {
+ if (GDKmove(farmid, srcdir, name, ext, dstdir, name, ext, true) ==
GDK_SUCCEED) {
return GDK_SUCCEED;
} else {
char *path;
@@ -2864,7 +2864,7 @@ BBPprepare(bool subcommit)
}
if (ret == GDK_SUCCEED && backup_dir != set) {
/* a valid backup dir *must* at least contain BBP.dir */
- if ((ret = GDKmove(0, backup_dir ? BAKDIR : BATDIR, "BBP",
"dir", subcommit ? SUBDIR : BAKDIR, "BBP", "dir")) == GDK_SUCCEED) {
+ if ((ret = GDKmove(0, backup_dir ? BAKDIR : BATDIR, "BBP",
"dir", subcommit ? SUBDIR : BAKDIR, "BBP", "dir", true)) == GDK_SUCCEED) {
backup_dir = set;
}
}
@@ -3294,7 +3294,7 @@ force_move(int farmid, const char *srcdi
return ret;
}
/* try to rename it */
- ret = GDKmove(farmid, srcdir, name, NULL, dstdir, name, NULL);
+ ret = GDKmove(farmid, srcdir, name, NULL, dstdir, name, NULL, false);
if (ret != GDK_SUCCEED) {
char *srcpath;
@@ -3312,7 +3312,7 @@ force_move(int farmid, const char *srcdi
TRC_DEBUG(IO_, "remove %s = %d\n", dstpath, (int) ret);
(void) GDKcreatedir(dstdir); /* if fails, move will fail */
- ret = GDKmove(farmid, srcdir, name, NULL, dstdir, name, NULL);
+ ret = GDKmove(farmid, srcdir, name, NULL, dstdir, name, NULL,
true);
TRC_DEBUG(IO_, "link %s %s = %d\n", srcpath, dstpath, (int)
ret);
GDKfree(dstpath);
GDKfree(srcpath);
@@ -3467,7 +3467,7 @@ BBPrecover_subdir(void)
while ((dent = readdir(dirp)) != NULL) {
if (dent->d_name[0] == '.')
continue;
- ret = GDKmove(0, SUBDIR, dent->d_name, NULL, BAKDIR,
dent->d_name, NULL);
+ ret = GDKmove(0, SUBDIR, dent->d_name, NULL, BAKDIR,
dent->d_name, NULL, true);
if (ret == GDK_SUCCEED && strcmp(dent->d_name, "BBP.dir") == 0)
backup_dir = 1;
if (ret != GDK_SUCCEED)
diff --git a/gdk/gdk_heap.c b/gdk/gdk_heap.c
--- a/gdk/gdk_heap.c
+++ b/gdk/gdk_heap.c
@@ -496,7 +496,7 @@ GDKupgradevarheap(BAT *b, var_t v, BUN c
if (exists == 0 &&
(old->storage != STORE_MEM ||
GDKmove(old->farmid, BATDIR, old->filename, NULL,
- BAKDIR, filename, NULL) != GDK_SUCCEED)) {
+ BAKDIR, filename, NULL, false) != GDK_SUCCEED)) {
int fd;
ssize_t ret = 0;
size_t size = n << b->tshift;
@@ -531,7 +531,7 @@ GDKupgradevarheap(BAT *b, var_t v, BUN c
}
/* move tmp file to backup directory (without .tmp
* extension) */
- if (GDKmove(old->farmid, BATDIR, old->filename, "tmp",
BAKDIR, filename, NULL) != GDK_SUCCEED) {
+ if (GDKmove(old->farmid, BATDIR, old->filename, "tmp",
BAKDIR, filename, NULL, true) != GDK_SUCCEED) {
/* backup failed */
GDKunlink(old->farmid, BATDIR, old->filename,
"tmp");
return GDK_FAIL;
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1669,7 +1669,7 @@ logger_load(int debug, const char *fn, c
fclose(fp);
fp = NULL;
if (GDKunlink(0, lg->dir, LOGFILE, NULL) != GDK_SUCCEED
||
- GDKmove(0, lg->dir, LOGFILE, "bak", lg->dir,
LOGFILE, NULL) != GDK_SUCCEED)
+ GDKmove(0, lg->dir, LOGFILE, "bak", lg->dir,
LOGFILE, NULL, true) != GDK_SUCCEED)
goto error;
} else if (errno != ENOENT) {
GDKsyserror("open %s failed", bak);
diff --git a/gdk/gdk_logger_old.c b/gdk/gdk_logger_old.c
--- a/gdk/gdk_logger_old.c
+++ b/gdk/gdk_logger_old.c
@@ -1750,7 +1750,7 @@ old_logger_destroy(old_logger *lg)
BBPrename(lg->lg->dcatalog->batCacheid, bak) < 0) {
return GDK_FAIL;
}
- if (GDKmove(0, lg->lg->dir, LOGFILE, NULL, lg->lg->dir, LOGFILE, "bak")
!= GDK_SUCCEED) {
+ if (GDKmove(0, lg->lg->dir, LOGFILE, NULL, lg->lg->dir, LOGFILE, "bak",
true) != GDK_SUCCEED) {
TRC_CRITICAL(GDK, "logger_destroy failed\n");
return GDK_FAIL;
}
@@ -1765,7 +1765,7 @@ old_logger_destroy(old_logger *lg)
return GDK_FAIL;
}
snprintf(bak, sizeof(bak), "bak-" LLFMT, lg->id);
- if (GDKmove(0, lg->lg->dir, LOGFILE, "bak", lg->lg->dir, LOGFILE, bak)
!= GDK_SUCCEED) {
+ if (GDKmove(0, lg->lg->dir, LOGFILE, "bak", lg->lg->dir, LOGFILE, bak,
true) != GDK_SUCCEED) {
TRC_CRITICAL(GDK, "logger_destroy failed\n");
return GDK_FAIL;
}
diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h
--- a/gdk/gdk_private.h
+++ b/gdk/gdk_private.h
@@ -145,7 +145,7 @@ char *GDKload(int farmid, const char *nm
void GDKlog(_In_z_ _Printf_format_string_ FILE * fl, const char *format, ...)
__attribute__((__format__(__printf__, 2, 3)))
__attribute__((__visibility__("hidden")));
-gdk_return GDKmove(int farmid, const char *dir1, const char *nme1, const char
*ext1, const char *dir2, const char *nme2, const char *ext2)
+gdk_return GDKmove(int farmid, const char *dir1, const char *nme1, const char
*ext1, const char *dir2, const char *nme2, const char *ext2, bool report)
__attribute__((__warn_unused_result__))
__attribute__((__visibility__("hidden")));
void *GDKmremap(const char *path, int mode, void *old_address, size_t
old_size, size_t *new_size)
diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c
--- a/gdk/gdk_storage.c
+++ b/gdk/gdk_storage.c
@@ -315,7 +315,7 @@ GDKunlink(int farmid, const char *dir, c
* A move routine is overloaded to deal with extensions.
*/
gdk_return
-GDKmove(int farmid, const char *dir1, const char *nme1, const char *ext1,
const char *dir2, const char *nme2, const char *ext2)
+GDKmove(int farmid, const char *dir1, const char *nme1, const char *ext1,
const char *dir2, const char *nme2, const char *ext2, bool report)
{
char *path1;
char *path2;
@@ -329,7 +329,7 @@ GDKmove(int farmid, const char *dir1, co
path2 = GDKfilepath(farmid, dir2, nme2, ext2);
if (path1 && path2) {
ret = MT_rename(path1, path2);
- if (ret < 0)
+ if (ret < 0 && report)
GDKsyserror("cannot rename %s to %s\n", path1, path2);
TRC_DEBUG(IO_, "Move %s %s = %d (%dms)\n", path1, path2, ret,
GDKms() - t0);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list