2837 He Zhenxing 2009-03-09 [merge]
Auto merge
modified:
mysql-test/r/lock.result
mysql-test/r/merge.result
mysql-test/r/ps.result
mysql-test/r/strict.result
mysql-test/r/variables.result
mysql-test/suite/sys_vars/r/auto_increment_increment_basic.result
mysql-test/suite/sys_vars/r/auto_increment_increment_func.result
mysql-test/suite/sys_vars/r/auto_increment_offset_basic.result
mysql-test/suite/sys_vars/r/auto_increment_offset_func.result
mysql-test/suite/sys_vars/r/concurrent_insert_basic.result
mysql-test/suite/sys_vars/r/connect_timeout_basic.result
mysql-test/suite/sys_vars/r/default_week_format_basic.result
mysql-test/suite/sys_vars/r/delayed_insert_timeout_basic.result
mysql-test/suite/sys_vars/r/div_precision_increment_basic.result
mysql-test/suite/sys_vars/r/expire_logs_days_basic.result
mysql-test/suite/sys_vars/r/group_concat_max_len_basic.result
mysql-test/suite/sys_vars/r/interactive_timeout_basic.result
mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result
mysql-test/suite/sys_vars/r/max_binlog_size_basic.result
mysql-test/suite/sys_vars/r/max_connections_basic.result
mysql-test/suite/sys_vars/r/max_delayed_threads_basic.result
mysql-test/suite/sys_vars/r/max_error_count_basic.result
mysql-test/suite/sys_vars/r/max_insert_delayed_threads_basic.result
mysql-test/suite/sys_vars/r/max_length_for_sort_data_basic.result
mysql-test/suite/sys_vars/r/max_prepared_stmt_count_basic.result
mysql-test/suite/sys_vars/r/max_relay_log_size_basic.result
mysql-test/suite/sys_vars/r/max_sort_length_basic.result
mysql-test/suite/sys_vars/r/max_sp_recursion_depth_basic.result
mysql-test/suite/sys_vars/r/myisam_data_pointer_size_basic.result
mysql-test/suite/sys_vars/r/net_buffer_length_basic.result
mysql-test/suite/sys_vars/r/net_read_timeout_basic.result
mysql-test/suite/sys_vars/r/net_write_timeout_basic.result
mysql-test/suite/sys_vars/r/optimizer_prune_level_basic.result
mysql-test/suite/sys_vars/r/optimizer_search_depth_basic.result
mysql-test/suite/sys_vars/r/preload_buffer_size_basic.result
mysql-test/suite/sys_vars/r/read_buffer_size_basic.result
mysql-test/suite/sys_vars/r/read_rnd_buffer_size_basic.result
mysql-test/suite/sys_vars/r/slave_net_timeout_basic.result
mysql-test/suite/sys_vars/r/slow_launch_time_basic.result
mysql-test/suite/sys_vars/r/table_definition_cache_basic.result
mysql-test/suite/sys_vars/r/table_lock_wait_timeout_basic.result
mysql-test/suite/sys_vars/r/table_open_cache_basic.result
mysql-test/t/lock.test
mysql-test/t/merge.test
mysql-test/t/strict.test
mysql-test/t/variables.test
sql/log.cc
sql/mysqld.cc
sql/set_var.cc
sql/share/errmsg.txt
sql/sql_cache.cc
sql/sql_lex.cc
sql/sql_lex.h
sql/sql_parse.cc
sql/sql_yacc.yy
sql/unireg.cc
storage/myisammrg/ha_myisammrg.cc
=== modified file 'include/my_sys.h'
--- a/include/my_sys.h 2009-02-05 06:16:00 +0000
+++ b/include/my_sys.h 2009-03-06 09:38:14 +0000
@@ -637,6 +637,7 @@ extern int nt_share_delete(const char *n
extern void TERMINATE(FILE *file, uint flag);
#endif
extern void init_glob_errs(void);
+extern void wait_for_free_space(const char *filename, int errors);
extern FILE *my_fopen(const char *FileName,int Flags,myf MyFlags);
extern FILE *my_fdopen(File Filedes,const char *name, int Flags,myf MyFlags);
extern int my_fclose(FILE *fd,myf MyFlags);
=== modified file 'mysys/errors.c'
--- a/mysys/errors.c 2008-06-17 10:41:58 +0000
+++ b/mysys/errors.c 2009-03-06 09:38:14 +0000
@@ -39,7 +39,7 @@ const char * NEAR globerrs[GLOBERRS]=
"Can't change dir to '%s' (Errcode: %d)",
"Warning: '%s' had %d links",
"Warning: %d files and %d streams is left open\n",
- "Disk is full writing '%s' (Errcode: %d). Waiting for someone to free space... Retry in %d secs",
+ "Disk is full writing '%s' (Errcode: %d). Waiting for someone to free space... (Expect up to %d secs delay for server to continue after freeing disk space)",
"Can't create directory '%s' (Errcode: %d)",
"Character set '%s' is not a compiled character set and is not specified in the '%s' file",
"Out of resources when opening file '%s' (Errcode: %d)",
@@ -92,3 +92,17 @@ void init_glob_errs()
EE(EE_FILE_NOT_CLOSED) = "File '%s' (fileno: %d) was not closed";
}
#endif
+
+void wait_for_free_space(const char *filename, int errors)
+{
+ if (errors == 0)
+ my_error(EE_DISK_FULL,MYF(ME_BELL | ME_NOREFRESH),
+ filename,my_errno,MY_WAIT_FOR_USER_TO_FIX_PANIC);
+ if (!(errors % MY_WAIT_GIVE_USER_A_MESSAGE))
+ my_printf_error(EE_DISK_FULL,
+ "Retry in %d secs. Message reprinted in %d secs",
+ MYF(ME_BELL | ME_NOREFRESH),
+ MY_WAIT_FOR_USER_TO_FIX_PANIC,
+ MY_WAIT_GIVE_USER_A_MESSAGE * MY_WAIT_FOR_USER_TO_FIX_PANIC );
+ VOID(sleep(MY_WAIT_FOR_USER_TO_FIX_PANIC));
+}
=== modified file 'mysys/my_fstream.c'
--- a/mysys/my_fstream.c 2007-05-10 09:59:39 +0000
+++ b/mysys/my_fstream.c 2009-03-06 09:38:14 +0000
@@ -131,10 +131,8 @@ size_t my_fwrite(FILE *stream, const uch
if ((errno == ENOSPC || errno == EDQUOT) &&
(MyFlags & MY_WAIT_IF_FULL))
{
- if (!(errors++ % MY_WAIT_GIVE_USER_A_MESSAGE))
- my_error(EE_DISK_FULL,MYF(ME_BELL | ME_NOREFRESH),
- "[stream]",my_errno,MY_WAIT_FOR_USER_TO_FIX_PANIC);
- VOID(sleep(MY_WAIT_FOR_USER_TO_FIX_PANIC));
+ wait_for_free_space("[stream]", errors);
+ errors++;
VOID(my_fseek(stream,seekptr,MY_SEEK_SET,MYF(0)));
continue;
}
=== modified file 'mysys/my_pread.c'
--- a/mysys/my_pread.c 2007-10-11 15:07:40 +0000
+++ b/mysys/my_pread.c 2009-03-06 09:38:14 +0000
@@ -161,10 +161,8 @@ size_t my_pwrite(int Filedes, const ucha
if ((my_errno == ENOSPC || my_errno == EDQUOT) &&
(MyFlags & MY_WAIT_IF_FULL))
{
- if (!(errors++ % MY_WAIT_GIVE_USER_A_MESSAGE))
- my_error(EE_DISK_FULL,MYF(ME_BELL | ME_NOREFRESH),
- my_filename(Filedes),my_errno,MY_WAIT_FOR_USER_TO_FIX_PANIC);
- VOID(sleep(MY_WAIT_FOR_USER_TO_FIX_PANIC));
+ wait_for_free_space(my_filename(Filedes), errors);
+ errors++;
continue;
}
if ((writenbytes && writenbytes != (size_t) -1) || my_errno == EINTR)
=== modified file 'mysys/my_write.c'
--- a/mysys/my_write.c 2007-10-25 04:22:14 +0000
+++ b/mysys/my_write.c 2009-03-06 09:38:14 +0000
@@ -54,10 +54,8 @@ size_t my_write(int Filedes, const uchar
if ((my_errno == ENOSPC || my_errno == EDQUOT) &&
(MyFlags & MY_WAIT_IF_FULL))
{
- if (!(errors++ % MY_WAIT_GIVE_USER_A_MESSAGE))
- my_error(EE_DISK_FULL,MYF(ME_BELL | ME_NOREFRESH),
- my_filename(Filedes),my_errno,MY_WAIT_FOR_USER_TO_FIX_PANIC);
- VOID(sleep(MY_WAIT_FOR_USER_TO_FIX_PANIC));
+ wait_for_free_space(my_filename(Filedes), errors);
+ errors++;
continue;
}
| Thread |
|---|
| • bzr push into mysql-5.1-bugteam branch (zhenxing.he:2837) Bug#37416Bug#39843 Bug#40363 Bug#40657 Bug#41305 Bug#41465 Bug#42790 | He Zhenxing | 9 Mar |