Here is a proposed patch that I think solves the issue. I have not fully tested it yet...
--- xtrabackup.c.orig 2011-05-11 06:54:29.000000000 -0700 +++ xtrabackup.c 2011-05-11 06:54:54.000000000 -0700 @@ -3420,6 +3420,9 @@ } else if (0 == ut_strcmp(srv_file_flush_method_str, "O_DIRECT")) { srv_unix_file_flush_method = SRV_UNIX_O_DIRECT; fprintf(stderr,"xtrabackup: use O_DIRECT\n"); + } else if (0 == ut_strcmp(srv_file_flush_method_str, "ALL_O_DIRECT")) { + srv_unix_file_flush_method = SRV_UNIX_O_DIRECT; + fprintf(stderr,"xtrabackup: use O_DIRECT\n"); } else if (0 == ut_strcmp(srv_file_flush_method_str, "littlesync")) { srv_unix_file_flush_method = SRV_UNIX_LITTLESYNC;
Here is a proposed patch that I think solves the issue. I have not fully tested it yet...
--- xtrabackup.c.orig 2011-05-11 06:54:29.000000000 -0700 srv_file_ flush_method_ str, "O_DIRECT")) { unix_file_ flush_method = SRV_UNIX_O_DIRECT; stderr, "xtrabackup: use O_DIRECT\n"); srv_file_ flush_method_ str, "ALL_O_DIRECT")) { file_flush_ method = SRV_UNIX_O_DIRECT; stderr, "xtrabackup: use O_DIRECT\n"); srv_file_ flush_method_ str, "littlesync")) { unix_file_ flush_method = SRV_UNIX_ LITTLESYNC;
+++ xtrabackup.c 2011-05-11 06:54:54.000000000 -0700
@@ -3420,6 +3420,9 @@
} else if (0 == ut_strcmp(
srv_
fprintf(
+ } else if (0 == ut_strcmp(
+ srv_unix_
+ fprintf(
} else if (0 == ut_strcmp(
srv_