diff options
-rw-r--r-- | scripts/mysqld_safe.sh | 20 | ||||
-rw-r--r-- | storage/innobase/fil/fil0fil.cc | 32 |
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 |