Make copy_up_file_and_fill() safe for disk full

Fixed use-copy option to mysql-test-run

mysql-test/mysql-test-run.pl:
  Fixed use-copy and added comment
sql/log.cc:
  Make copy_up_file_and_fill() safe for disk full
This commit is contained in:
Michael Widenius 2014-03-23 21:09:38 +02:00 committed by Michael Widenius
parent 9aac546872
commit 7c81a51516
2 changed files with 14 additions and 3 deletions

View file

@ -2686,7 +2686,7 @@ sub setup_vardir() {
{
$plugindir="$opt_vardir/plugins";
mkpath($plugindir);
if (IS_WINDOWS && !$opt_embedded_server || $opt_use_copy)
if (IS_WINDOWS && !$opt_embedded_server)
{
for (<$bindir/storage/*$opt_vs_config/*.dll>,
<$bindir/plugin/*$opt_vs_config/*.dll>,
@ -2708,7 +2708,14 @@ sub setup_vardir() {
<$bindir/sql/*.so>)
{
my $pname=basename($_);
symlink rel2abs($_), "$plugindir/$pname";
if ($opt_use_copy)
{
copy rel2abs($_), "$plugindir/$pname";
}
else
{
symlink rel2abs($_), "$plugindir/$pname";
}
set_plugin_var($pname);
}
}
@ -6416,6 +6423,9 @@ Options to control what test suites or cases to run
skip-test-list=FILE Skip the tests listed in FILE. Each line in the file
is an entry and should be formatted as:
<TESTNAME> : <COMMENT>
use-copy Copy plugins instead of symlinking them. This is
only useful when running on a system that doesn't
support symlinks.
Options that specify ports

View file

@ -3590,7 +3590,8 @@ static bool copy_up_file_and_fill(IO_CACHE *index_file, my_off_t offset)
if (!bytes_read)
break; // end of file
mysql_file_seek(file, offset-init_offset, MY_SEEK_SET, MYF(0));
if (mysql_file_write(file, io_buf, bytes_read, MYF(MY_WME | MY_NABP)))
if (mysql_file_write(file, io_buf, bytes_read,
MYF(MY_WME | MY_NABP | MY_WAIT_IF_FULL)))
goto err;
}
/* The following will either truncate the file or fill the end with \n' */