summaryrefslogtreecommitdiff
path: root/innobase/os
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2002-06-26 10:09:11 +0300
committerunknown <heikki@hundin.mysql.fi>2002-06-26 10:09:11 +0300
commit0ae83cae796d1158f21605015fd47e1e4af652c8 (patch)
tree8b4dd610ac12d96f65a83669362737ee54a35abf /innobase/os
parent458c785e1f1614382cd389df3afd24519ff30536 (diff)
downloadmariadb-git-0ae83cae796d1158f21605015fd47e1e4af652c8.tar.gz
os0file.c:
Crash the server if file flush does not succeed: the database can get corrupt, better to crash it than let it run innobase/os/os0file.c: Crash the server if file flush does not succeed: the database can get corrupt, better to crash it than let it run
Diffstat (limited to 'innobase/os')
-rw-r--r--innobase/os/os0file.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c
index 5806cb8f1f3..e98b9e95cf7 100644
--- a/innobase/os/os0file.c
+++ b/innobase/os/os0file.c
@@ -761,6 +761,10 @@ os_file_flush(
os_file_handle_error(file, NULL);
+ /* It is a fatal error if a file flush does not succeed, because then
+ the database can get corrupt on disk */
+ ut_a(0);
+
return(FALSE);
#else
int ret;
@@ -783,11 +787,17 @@ os_file_flush(
return(TRUE);
}
+ ut_print_timestamp(stderr);
+
fprintf(stderr,
- "InnoDB: Error: the OS said file flush did not succeed\n");
+ " InnoDB: Error: the OS said file flush did not succeed\n");
os_file_handle_error(file, NULL);
+ /* It is a fatal error if a file flush does not succeed, because then
+ the database can get corrupt on disk */
+ ut_a(0);
+
return(FALSE);
#endif
}
@@ -1144,8 +1154,8 @@ os_file_write(
"InnoDB: Operating system error number %lu.\n"
"InnoDB: Check that your OS and file system support files of this size.\n"
"InnoDB: Check also the disk is not full or a disk quota exceeded.\n",
- name, offset_high, offset, n, ret, (ulint)errno);
-
+ name, offset_high, offset, n, (ulint)ret,
+ (ulint)errno);
os_has_said_disk_full = TRUE;
}