mariadb/mysys
unknown 10802c4d90 MDEV-381: fdatasync() does not correctly flush growing binlog file.
When we append data to the binlog file, we use fdatasync() to ensure
the data gets to disk so that crash recovery can work.

Unfortunately there seems to be a bug in ext3/ext4 on linux, so that
fdatasync() does not correctly sync all data when the size of a file
is increased. This causes crash recovery to not work correctly (it
loses transactions from the binlog).

As a work-around, use fsync() for the binlog, not fdatasync(). Since
we are increasing the file size, (correct) fdatasync() will most
likely not be faster than fsync() on any file system, and fsync()
does work correctly on ext3/ext4. This avoids the need to try to
detect if we are running on buggy ext3/ext4.
2012-08-30 10:53:49 +02:00
..
.cvsignore
array.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
base64.c Updated/added copyright headers 2011-06-30 17:37:13 +02:00
ChangeLog
charset-def.c merge 2012-04-05 12:01:52 +02:00
charset.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
checksum.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
CMakeLists.txt Merge with 5.2. 2011-12-11 11:34:44 +02:00
default.c Updated/added copyright headers 2011-06-30 17:37:13 +02:00
default_modify.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
errors.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
hash.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
lf_alloc-pin.c post-review fixes 2009-01-15 22:27:36 +01:00
lf_dynarray.c Windows fixes 2008-01-10 13:21:53 +01:00
lf_hash.c Remove compiler warnings (Including some warnings from -Wstrict-aliasing) 2009-11-30 01:08:56 +02:00
list.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
ma_dyncol.c Compiler warning about assigned but not used variables fixed. 2011-10-18 13:44:12 +03:00
make-ccc Remove unused (and incorrect) my_lread() and my_lwrite() 2006-09-14 23:29:44 -06:00
make-conf.c Many files: 2006-12-23 20:17:15 +01:00
Makefile.am Merge with 5.2. 2011-12-11 11:34:44 +02:00
md5.c Bug #42434: license of mysys MD5 implementation is not GPL-compatible 2009-03-09 20:57:03 +02:00
mf_arr_appstr.c Bug #20748: Configuration files should not be read more than once 2007-11-07 15:23:50 -07:00
mf_brkhant.c Many files: 2006-12-23 20:17:15 +01:00
mf_cache.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_dirname.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_fn_ext.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_format.c Updated/added copyright headers 2011-06-30 17:37:13 +02:00
mf_getdate.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
mf_iocache.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
mf_iocache2.c Merge into latest 5.3 2012-08-24 14:26:23 +02:00
mf_keycache.c Fixed LP bug #1008293. 2012-06-11 22:12:47 -07:00
mf_keycaches.c Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1 2007-06-27 17:49:12 +03:00
mf_loadpath.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
mf_pack.c Updated/added copyright headers 2011-06-30 17:31:31 +02:00
mf_path.c Slow query log to file now displays queries with microsecond precission 2007-07-30 11:33:50 +03:00
mf_qsort.c We are now using Valgrind rather than purify, and have for quite some time. 2009-05-06 14:03:24 +02:00
mf_qsort2.c Many files: 2006-12-23 20:17:15 +01:00
mf_radix.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_same.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_sort.c Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint 2007-10-18 14:32:43 +04:00
mf_soundex.c Added extra argument to longlong2str() to make it have same prototype is int2str() 2010-08-07 15:27:23 +03:00
mf_tempdir.c Updated/added copyright headers 2011-06-30 17:37:13 +02:00
mf_tempfile.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
mf_unixpath.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_util.c Many files: 2006-12-23 20:17:15 +01:00
mf_wcomp.c Many files: 2006-12-23 20:17:15 +01:00
mf_wfile.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
mulalloc.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_access.c Bug #13889741: HANDLE_FATAL_SIGNAL IN _DB_ENTER_ | 2012-07-05 13:41:16 +03:00
my_aes.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_alarm.c Many files: 2006-12-23 20:17:15 +01:00
my_alloc.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
my_append.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
my_atomic.c Bug#22320: my_atomic-t unit test fails 2010-07-05 09:00:39 -03:00
my_bit.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
my_bitmap.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
my_chmod.c Added wrapper for chmod(): my_chmod() 2008-01-03 09:45:46 +02:00
my_chsize.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_clock.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
my_compare.c Updated/added copyright headers 2012-02-15 17:13:47 +01:00
my_compress.c Fix most Compiler warnings seen in buildbot. 2009-09-03 15:20:22 +02:00
my_conio.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
my_copy.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
my_crc32.c Many files: 2006-12-23 20:17:15 +01:00
my_create.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_delete.c Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-main 2007-12-16 17:03:44 +02:00
my_div.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_dup.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_error.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
my_file.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
my_fopen.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_fstream.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
my_gethwaddr.c MDEV-106 my_gethwaddr() does not compile on Solaris 11 2012-01-23 11:43:28 +01:00
my_getncpus.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
my_getopt.c Merge with MariaDB 5.1 2011-11-24 18:48:58 +02:00
my_getpagesize.c Many files: 2006-12-23 20:17:15 +01:00
my_getsystime.c Compatibility fixes by U Orsini 2012-03-30 16:00:10 +03:00
my_getwd.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
my_handler_errors.h 5.2 merge 2012-05-20 14:57:29 +02:00
my_init.c Updated/added copyright headers 2012-02-15 17:13:47 +01:00
my_largepage.c Updated/added copyright headers 2011-06-30 17:37:13 +02:00
my_lib.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_libwrap.c Many files: 2006-12-23 20:17:15 +01:00
my_lock.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_lockmem.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_malloc.c Merge with MariaDB 5.1 2011-11-24 18:48:58 +02:00
my_memmem.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_messnc.c Many files: 2006-12-23 20:17:15 +01:00
my_mkdir.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
my_mmap.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_net.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
my_netware.c Many files: 2006-12-23 20:17:15 +01:00
my_new.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
my_once.c Fix build error after last push with --with-debug=full due to SAFEMALLOC now being 2009-03-31 10:06:51 +02:00
my_open.c Merge 5.2->5.3 2011-09-02 15:10:10 +03:00
my_port.c Merge with MySQL 5.1.57/58 2011-05-02 20:58:45 +03:00
my_pread.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
my_pthread.c WL#3262 add mutex lock order checking to safemutex (also called safe_mutex_deadlock_detector) 2008-12-03 00:02:52 +02:00
my_quick.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_read.c Merge 5.2->5.3 2011-09-02 15:10:10 +03:00
my_realloc.c Fix build error after last push with --with-debug=full due to SAFEMALLOC now being 2009-03-31 10:06:51 +02:00
my_redel.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
my_rename.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
my_rnd.c We are now using Valgrind rather than purify, and have for quite some time. 2009-05-06 14:03:24 +02:00
my_safehash.c Fixed compiler warnings 2007-08-22 10:56:10 +03:00
my_safehash.h Merged with mysql-5.1 main tree. 2007-07-02 20:45:15 +03:00
my_seek.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
my_sleep.c WL#3262 add mutex lock order checking to safemutex (also called safe_mutex_deadlock_detector) 2008-12-03 00:02:52 +02:00
my_static.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
my_static.h wl#173 - temporal types with sub-second resolution 2011-03-01 13:24:36 +01:00
my_symlink.c mysql-5.1.62 merge 2012-04-05 10:49:38 +02:00
my_symlink2.c Fix for: LP #634955: Assert in _ma_update_at_original_place() 2010-11-02 17:22:57 +02:00
my_sync.c MDEV-381: fdatasync() does not correctly flush growing binlog file. 2012-08-30 10:53:49 +02:00
my_thr_init.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
my_uuid.c Merge with 5.1-microseconds 2011-05-28 05:11:32 +03:00
my_vle.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_wincond.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
my_windac.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_winerr.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_winfile.c Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_winthread.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
my_write.c 5.2 merge. 2012-08-22 16:45:25 +02:00
mysys_priv.h Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
ptr_cmp.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
queues.c many changes to my_getsystime.c: 2011-05-19 19:05:35 +02:00
rijndael.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
safemalloc.c Merge with MariaDB 5.1 2011-11-24 18:48:58 +02:00
sha1.c Bug #56427 : Replace copyright notice removed from SHA1 code 2010-10-05 17:03:04 +03:00
stacktrace.c restore my_safe_printf_stderr for "crash-safe sigsegv handler" 2012-03-14 21:16:24 +01:00
string.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
test_charset.c Fix doxygen warnings. 2007-08-15 17:43:08 +04:00
test_dir.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
test_fn.c Many files: 2006-12-23 20:17:15 +01:00
test_thr_mutex.c Add missing file: Testing of mutex-wrong-usage-detector 2008-12-03 00:09:37 +02:00
test_xml.c Many files: 2006-12-23 20:17:15 +01:00
testhash.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
thr_alarm.c Merge with 5.2. 2011-12-11 11:34:44 +02:00
thr_lock.c Fixed lp:963603 "Assertion `lock_type != TL_UNLOCK && (lock_type == TL_IGNORE || file->lock.type == TL_UNLOCK)' failed in ha_maria::store_lock with DML, triggers, views" 2012-03-26 13:29:45 +03:00
thr_mutex.c Merge with MariaDB 5.1 2011-11-24 18:48:58 +02:00
thr_rwlock.c Backport fix for MySQL bug #56405 : 2011-06-12 16:09:28 +02:00
tree.c Merge in new handler and handlersocket code into 5.3 main 2011-02-22 11:15:47 +02:00
trie.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
typelib.c Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
waiting_threads.c Merge with 5.1-microseconds 2011-05-28 05:11:32 +03:00
wqueue.c Debug code fixed. 2008-04-21 17:43:38 +03:00