Changeset: bedca932581a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bedca932581a
Modified Files:
gdk/gdk_group.c
gdk/gdk_storage.c
Branch: default
Log Message:
Merge with Oct2014 branch.
diffs (42 lines):
diff --git a/gdk/gdk_group.c b/gdk/gdk_group.c
--- a/gdk/gdk_group.c
+++ b/gdk/gdk_group.c
@@ -69,12 +69,14 @@
maxgrps = BATcount(b); \
if (extents) { \
BATsetcount(en, ngrp); \
- BATextend(en, maxgrps); \
+ if (BATextend(en, maxgrps) != GDK_SUCCEED) \
+ goto error; \
exts = (oid *) Tloc(en, BUNfirst(en)); \
} \
if (histo) { \
BATsetcount(hn, ngrp); \
- BATextend(hn, maxgrps); \
+ if (BATextend(hn, maxgrps) != GDK_SUCCEED) \
+ goto error; \
cnts = (wrd *) Tloc(hn, BUNfirst(hn)); \
} \
} \
diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c
--- a/gdk/gdk_storage.c
+++ b/gdk/gdk_storage.c
@@ -271,7 +271,7 @@ GDKextendf(int fd, size_t size, const ch
IODEBUG t0 = GDKms();
if (stb.st_size < (off_t) size) {
#ifdef HAVE_FALLOCATE
- if (fallocate(fd, 0, stb.st_size, (off_t) size - stb.st_size) <
0 &&
+ if ((rt = fallocate(fd, 0, stb.st_size, (off_t) size -
stb.st_size)) < 0 &&
errno == EOPNOTSUPP)
/* on Linux, posix_fallocate uses a slow
* method to allocate blocks if the underlying
@@ -287,6 +287,9 @@ GDKextendf(int fd, size_t size, const ch
* the operation, so just resize the file */
#endif
#endif
+ /* we get here when (posix_)fallocate fails because it
+ * is not supported on the file system, or if neither
+ * function exists */
rt = ftruncate(fd, (off_t) size);
}
IODEBUG fprintf(stderr, "#GDKextend %s " SZFMT " -> " SZFMT " %dms%s\n",
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list