From 0ae83cae796d1158f21605015fd47e1e4af652c8 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 26 Jun 2002 10:09:11 +0300 Subject: 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 --- innobase/os/os0file.c | 16 +++++++++++++--- 1 file 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; } -- cgit v1.2.1