summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/mysqld_safe.sh20
-rw-r--r--storage/innobase/fil/fil0fil.cc32
2 files changed, 23 insertions, 29 deletions
diff --git a/scripts/mysqld_safe.sh b/scripts/mysqld_safe.sh
index 2b8035c2e5e..0da86726bfb 100644
--- a/scripts/mysqld_safe.sh
+++ b/scripts/mysqld_safe.sh
@@ -23,7 +23,6 @@ numa_interleave=0
wsrep_on=0
dry_run=0
defaults_group_suffix=
-ignore_unknown=1
# Initial logging status: error log is not open, and not using syslog
logging=init
@@ -371,22 +370,11 @@ parse_arguments() {
--help) usage ;;
- --ignore-unknown) ignore_unknown=1 ;;
- --no-ignore-unknown|--not-ignore-unknown) ignore_unknown=0 ;;
-
*)
- if test $ignore_unknown -eq 0
- then
- case "$unrecognized_handling" in
- collect) append_arg_to_args "$arg" ;;
- complain) log_error "unknown option '$arg'"
- esac
- else
- case "$arg" in
- "--loose-"*) append_arg_to_args "$arg" ;;
- *) append_arg_to_args "--loose-$arg"
- esac
- fi
+ case "$unrecognized_handling" in
+ collect) append_arg_to_args "$arg" ;;
+ complain) log_error "unknown option '$arg'" ;;
+ esac
esac
done
}
diff --git a/storage/innobase/fil/fil0fil.cc b/storage/innobase/fil/fil0fil.cc
index d8b588b4e30..3874616e230 100644
--- a/storage/innobase/fil/fil0fil.cc
+++ b/storage/innobase/fil/fil0fil.cc
@@ -1496,21 +1496,27 @@ void fil_system_t::create(ulint hash_size)
void fil_system_t::close()
{
- ut_ad(this == &fil_system);
- ut_a(!UT_LIST_GET_LEN(LRU));
- ut_a(unflushed_spaces.empty());
- ut_a(!UT_LIST_GET_LEN(space_list));
- ut_ad(!sys_space);
- ut_ad(!temp_space);
+ ut_ad(this == &fil_system);
+ ut_a(!UT_LIST_GET_LEN(LRU));
+ ut_a(unflushed_spaces.empty());
+ ut_a(!UT_LIST_GET_LEN(space_list));
+ ut_ad(!sys_space);
+ ut_ad(!temp_space);
+
+ if (is_initialised())
+ {
+ m_initialised= false;
+ spaces.free();
+ mutex_free(&mutex);
+ fil_space_crypt_cleanup();
+ }
- if (is_initialised()) {
- m_initialised = false;
- spaces.free();
- mutex_free(&mutex);
- fil_space_crypt_cleanup();
- }
+ ut_ad(!spaces.array);
- ut_ad(!spaces.array);
+#ifdef UNIV_LINUX
+ ssd.clear();
+ ssd.shrink_to_fit();
+#endif /* UNIV_LINUX */
}
/** Opens all system tablespace data files. They stay open until the