From 0ebd10bc3b06d8e5499e3935ddcf08525baac2c9 Mon Sep 17 00:00:00 2001
From: Bjorn Munch <bjorn.bunch@oracle.com>
Date: Wed, 28 Jul 2010 13:28:21 +0200
Subject: [PATCH] Bug #54660 MTR cannot start server properly with non-default
 innodb_log_file_size Pass any --innodb* options to bootstrap as well
 Backported to v1, where also a removal of --loose-skip-innodb is needed

---
 mysql-test/lib/v1/mysql-test-run.pl | 14 +++++++++-----
 mysql-test/mysql-test-run.pl        |  9 +++++++++
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/mysql-test/lib/v1/mysql-test-run.pl b/mysql-test/lib/v1/mysql-test-run.pl
index 5e785c86027..4e4f09981cc 100755
--- a/mysql-test/lib/v1/mysql-test-run.pl
+++ b/mysql-test/lib/v1/mysql-test-run.pl
@@ -3126,6 +3126,15 @@ sub install_db ($$) {
   mtr_add_arg($args, "--lc-messages-dir=%s", $path_language);
   mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
 
+  # InnoDB arguments that affect file location and sizes may
+  # need to be given to the bootstrap process as well as the
+  # server process.
+  foreach my $extra_opt ( @opt_extra_mysqld_opt ) {
+    if ($extra_opt =~ /--innodb/) {
+      mtr_add_arg($args, $extra_opt);
+    }
+  }
+
   # If DISABLE_GRANT_OPTIONS is defined when the server is compiled (e.g.,
   # configure --disable-grant-options), mysqld will not recognize the
   # --bootstrap or --skip-grant-tables options.  The user can set
@@ -3925,11 +3934,6 @@ sub mysqld_arguments ($$$$) {
 
     mtr_add_arg($args, "%s--local-infile", $prefix);
 
-    if ( $idx > 0 or !$use_innodb)
-    {
-      mtr_add_arg($args, "%s--loose-skip-innodb", $prefix);
-    }
-
     my $cluster= $clusters->[$mysqld->{'cluster'}];
     if ( $cluster->{'pid'} ||           # Cluster is started
 	 $cluster->{'use_running'} )    # Using running cluster
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index c7b48ebdd74..46d194bfc09 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -2888,6 +2888,15 @@ sub mysql_install_db {
   mtr_add_arg($args, "--lc-messages-dir=%s", $install_lang);
   mtr_add_arg($args, "--character-sets-dir=%s", $install_chsdir);
 
+  # InnoDB arguments that affect file location and sizes may
+  # need to be given to the bootstrap process as well as the
+  # server process.
+  foreach my $extra_opt ( @opt_extra_mysqld_opt ) {
+    if ($extra_opt =~ /--innodb/) {
+      mtr_add_arg($args, $extra_opt);
+    }
+  }
+
   # If DISABLE_GRANT_OPTIONS is defined when the server is compiled (e.g.,
   # configure --disable-grant-options), mysqld will not recognize the
   # --bootstrap or --skip-grant-tables options.  The user can set