mirror of
https://github.com/MariaDB/server.git
synced 2025-01-27 09:14:17 +01:00
MDEV-30227 [ERROR] [FATAL] InnoDB: fdatasync() returned 9
fil_space_t::flush<false>(): If the CLOSING flag is set, the file may already have been closed, resulting in EBADF being returned by fdatasync(). In any case, the thread that had set the flag should take care of invoking os_file_flush_func(). The crash occurred during the execution of FLUSH TABLES...FOR EXPORT. Tested by: Matthias Leich
This commit is contained in:
parent
03fee585c1
commit
92ff7bb63f
1 changed files with 3 additions and 2 deletions
|
@ -1469,9 +1469,10 @@ template<bool have_reference> inline void fil_space_t::flush()
|
|||
}
|
||||
else if (have_reference)
|
||||
flush_low();
|
||||
else if (!(acquire_low() & STOPPING))
|
||||
else
|
||||
{
|
||||
flush_low();
|
||||
if (!(acquire_low() & (STOPPING | CLOSING)))
|
||||
flush_low();
|
||||
release();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue