From be89cb717d322eac6317f11c33988a4e809a0f87 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 4 Jan 2002 01:35:49 +0200 Subject: os0file.c: Improve error messages which may occur in installation innobase/os/os0file.c: Improve error messages which may occur in installation --- innobase/os/os0file.c | 42 +++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c index 363ed587c4e..17656251927 100644 --- a/innobase/os/os0file.c +++ b/innobase/os/os0file.c @@ -169,8 +169,20 @@ os_file_get_last_error(void) if (err != ERROR_FILE_EXISTS) { fprintf(stderr, - "InnoDB: Warning: operating system error number %li in a file operation.\n", + "InnoDB: Operating system error number %li in a file operation.\n" + "InnoDB: See http://www.innodb.com/ibman.html for installation help.\n", (long) err); + + if (err == ERROR_PATH_NOT_FOUND) { + fprintf(stderr, + "InnoDB: The error means the system cannot find the path specified.\n" + "InnoDB: In installation you must create directories yourself, InnoDB\n" + "InnoDB: does not create them.\n"); + } else { + fprintf(stderr, + "InnoDB: Look from section 13.2 at http://www.innodb.com/ibman.html\n" + "InnoDB: what the error number means.\n"); + } } if (err == ERROR_FILE_NOT_FOUND) { @@ -186,9 +198,21 @@ os_file_get_last_error(void) err = (ulint) errno; if (err != EEXIST) { - fprintf(stderr, - "InnoDB: Warning: operating system error number %i in a file operation.\n", - errno); + fprintf(stderr, + "InnoDB: Operating system error number %li in a file operation.\n" + "InnoDB: See http://www.innodb.com/ibman.html for installation help.\n", + (long) err); + + if (err == ENOENT) { + fprintf(stderr, + "InnoDB: The error means the system cannot find the path specified.\n" + "InnoDB: In installation you must create directories yourself, InnoDB\n" + "InnoDB: does not create them.\n"); + } else { + fprintf(stderr, + "InnoDB: Look from section 13.2 at http://www.innodb.com/ibman.html\n" + "InnoDB: what the error number means or use the perror program of MySQL.\n"); + } } if (err == ENOSPC ) { @@ -228,11 +252,11 @@ os_file_handle_error( if (err == OS_FILE_DISK_FULL) { fprintf(stderr, "\n"); if (name) { - fprintf(stderr, - "InnoDB: Encountered a problem with file %s.\n", + fprintf(stderr, + "InnoDB: Encountered a problem with file %s.\n", name); } - fprintf(stderr, + fprintf(stderr, "InnoDB: Cannot continue operation.\n" "InnoDB: Disk is full. Try to clean the disk to free space.\n" "InnoDB: Delete a possible created file and restart.\n"); @@ -245,6 +269,10 @@ os_file_handle_error( } else if (err == OS_FILE_ALREADY_EXISTS) { return(FALSE); } else { + if (name) { + fprintf(stderr, "InnoDB: File name %s\n", name); + } + fprintf(stderr, "InnoDB: Cannot continue operation.\n"); exit(1); -- cgit v1.2.1