summaryrefslogtreecommitdiff
path: root/storage/innobase/srv/srv0start.c
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/srv/srv0start.c')
-rw-r--r--storage/innobase/srv/srv0start.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/storage/innobase/srv/srv0start.c b/storage/innobase/srv/srv0start.c
index 86669a50895..d3d2e956e22 100644
--- a/storage/innobase/srv/srv0start.c
+++ b/storage/innobase/srv/srv0start.c
@@ -1,6 +1,6 @@
/*****************************************************************************
-Copyright (c) 1996, 2010, Innobase Oy. All Rights Reserved.
+Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2008, Google Inc.
Copyright (c) 2009, Percona Inc.
@@ -818,6 +818,7 @@ open_or_create_data_files(
}
if (ret == FALSE) {
+ const char* check_msg;
/* We open the data file */
if (one_created) {
@@ -915,13 +916,20 @@ open_or_create_data_files(
return(DB_ERROR);
}
skip_size_check:
- fil_read_first_page(
+ check_msg = fil_read_first_page(
files[i], one_opened, &flags,
#ifdef UNIV_LOG_ARCHIVE
min_arch_log_no, max_arch_log_no,
#endif /* UNIV_LOG_ARCHIVE */
min_flushed_lsn, max_flushed_lsn);
+ if (check_msg) {
+ fprintf(stderr,
+ "InnoDB: Error: %s in data file %s\n",
+ check_msg, name);
+ return(DB_ERROR);
+ }
+
if (!one_opened
&& UNIV_PAGE_SIZE
!= fsp_flags_get_page_size(flags)) {