Commit a8a27e65 authored by Vladislav Vaintroub's avatar Vladislav Vaintroub

MDEV-18212 mariabackup: Make output format uniform whenever possible

parent 61b60007
...@@ -57,19 +57,19 @@ MYSQL_ADD_EXECUTABLE(mariabackup ...@@ -57,19 +57,19 @@ MYSQL_ADD_EXECUTABLE(mariabackup
xtrabackup.cc xtrabackup.cc
innobackupex.cc innobackupex.cc
changed_page_bitmap.cc changed_page_bitmap.cc
datasink.c datasink.cc
ds_buffer.c ds_buffer.cc
ds_compress.c ds_compress.cc
ds_local.cc ds_local.cc
ds_stdout.c ds_stdout.cc
ds_tmpfile.c ds_tmpfile.cc
ds_xbstream.c ds_xbstream.cc
fil_cur.cc fil_cur.cc
quicklz/quicklz.c quicklz/quicklz.c
read_filt.cc read_filt.cc
write_filt.cc write_filt.cc
wsrep.cc wsrep.cc
xbstream_write.c xbstream_write.cc
backup_mysql.cc backup_mysql.cc
backup_copy.cc backup_copy.cc
encryption_plugin.cc encryption_plugin.cc
...@@ -96,13 +96,13 @@ ENDIF() ...@@ -96,13 +96,13 @@ ENDIF()
# xbstream binary # xbstream binary
######################################################################## ########################################################################
MYSQL_ADD_EXECUTABLE(mbstream MYSQL_ADD_EXECUTABLE(mbstream
ds_buffer.c ds_buffer.cc
ds_local.cc ds_local.cc
ds_stdout.c ds_stdout.cc
datasink.c datasink.cc
xbstream.c xbstream.cc
xbstream_read.c xbstream_read.cc
xbstream_write.c xbstream_write.cc
COMPONENT backup COMPONENT backup
) )
......
This diff is collapsed.
This diff is collapsed.
...@@ -202,7 +202,7 @@ log_online_read_bitmap_page( ...@@ -202,7 +202,7 @@ log_online_read_bitmap_page(
/* The following call prints an error message */ /* The following call prints an error message */
os_file_get_last_error(TRUE); os_file_get_last_error(TRUE);
msg("InnoDB: Warning: failed reading changed page bitmap " msg("InnoDB: Warning: failed reading changed page bitmap "
"file \'%s\'\n", bitmap_file->name); "file \'%s\'", bitmap_file->name);
return FALSE; return FALSE;
} }
...@@ -281,7 +281,7 @@ log_online_setup_bitmap_file_range( ...@@ -281,7 +281,7 @@ log_online_setup_bitmap_file_range(
bitmap_dir = os_file_opendir(srv_data_home, FALSE); bitmap_dir = os_file_opendir(srv_data_home, FALSE);
if (UNIV_UNLIKELY(!bitmap_dir)) { if (UNIV_UNLIKELY(!bitmap_dir)) {
msg("InnoDB: Error: failed to open bitmap directory \'%s\'\n", msg("InnoDB: Error: failed to open bitmap directory \'%s\'",
srv_data_home); srv_data_home);
return FALSE; return FALSE;
} }
...@@ -331,7 +331,7 @@ log_online_setup_bitmap_file_range( ...@@ -331,7 +331,7 @@ log_online_setup_bitmap_file_range(
if (UNIV_UNLIKELY(os_file_closedir(bitmap_dir))) { if (UNIV_UNLIKELY(os_file_closedir(bitmap_dir))) {
os_file_get_last_error(TRUE); os_file_get_last_error(TRUE);
msg("InnoDB: Error: cannot close \'%s\'\n",srv_data_home); msg("InnoDB: Error: cannot close \'%s\'",srv_data_home);
return FALSE; return FALSE;
} }
...@@ -348,7 +348,7 @@ log_online_setup_bitmap_file_range( ...@@ -348,7 +348,7 @@ log_online_setup_bitmap_file_range(
bitmap_dir = os_file_opendir(srv_data_home, FALSE); bitmap_dir = os_file_opendir(srv_data_home, FALSE);
if (UNIV_UNLIKELY(!bitmap_dir)) { if (UNIV_UNLIKELY(!bitmap_dir)) {
msg("InnoDB: Error: failed to open bitmap directory \'%s\'\n", msg("InnoDB: Error: failed to open bitmap directory \'%s\'",
srv_data_home); srv_data_home);
return FALSE; return FALSE;
} }
...@@ -379,7 +379,7 @@ log_online_setup_bitmap_file_range( ...@@ -379,7 +379,7 @@ log_online_setup_bitmap_file_range(
if (UNIV_UNLIKELY(array_pos >= bitmap_files->count)) { if (UNIV_UNLIKELY(array_pos >= bitmap_files->count)) {
msg("InnoDB: Error: inconsistent bitmap file " msg("InnoDB: Error: inconsistent bitmap file "
"directory\n"); "directory");
free(bitmap_files->files); free(bitmap_files->files);
return FALSE; return FALSE;
} }
...@@ -399,7 +399,7 @@ log_online_setup_bitmap_file_range( ...@@ -399,7 +399,7 @@ log_online_setup_bitmap_file_range(
if (UNIV_UNLIKELY(os_file_closedir(bitmap_dir))) { if (UNIV_UNLIKELY(os_file_closedir(bitmap_dir))) {
os_file_get_last_error(TRUE); os_file_get_last_error(TRUE);
msg("InnoDB: Error: cannot close \'%s\'\n", srv_data_home); msg("InnoDB: Error: cannot close \'%s\'", srv_data_home);
free(bitmap_files->files); free(bitmap_files->files);
return FALSE; return FALSE;
} }
...@@ -450,7 +450,7 @@ log_online_open_bitmap_file_read_only( ...@@ -450,7 +450,7 @@ log_online_open_bitmap_file_read_only(
/* Here and below assume that bitmap file names do not /* Here and below assume that bitmap file names do not
contain apostrophes, thus no need for ut_print_filename(). */ contain apostrophes, thus no need for ut_print_filename(). */
msg("InnoDB: Warning: error opening the changed page " msg("InnoDB: Warning: error opening the changed page "
"bitmap \'%s\'\n", bitmap_file->name); "bitmap \'%s\'", bitmap_file->name);
return success; return success;
} }
...@@ -494,7 +494,7 @@ log_online_diagnose_bitmap_eof( ...@@ -494,7 +494,7 @@ log_online_diagnose_bitmap_eof(
itself. */ itself. */
msg("InnoDB: Warning: junk at the end of changed " msg("InnoDB: Warning: junk at the end of changed "
"page bitmap file \'%s\'.\n", bitmap_file->name); "page bitmap file \'%s\'.", bitmap_file->name);
} }
if (UNIV_UNLIKELY(!last_page_in_run)) { if (UNIV_UNLIKELY(!last_page_in_run)) {
...@@ -505,7 +505,7 @@ log_online_diagnose_bitmap_eof( ...@@ -505,7 +505,7 @@ log_online_diagnose_bitmap_eof(
for the whole server */ for the whole server */
msg("InnoDB: Warning: changed page bitmap " msg("InnoDB: Warning: changed page bitmap "
"file \'%s\' does not contain a complete run " "file \'%s\' does not contain a complete run "
"at the end.\n", bitmap_file->name); "at the end.", bitmap_file->name);
return FALSE; return FALSE;
} }
} }
...@@ -536,7 +536,7 @@ xb_msg_missing_lsn_data( ...@@ -536,7 +536,7 @@ xb_msg_missing_lsn_data(
lsn_t missing_interval_end) /*!<in: interval end */ lsn_t missing_interval_end) /*!<in: interval end */
{ {
msg("mariabackup: warning: changed page data missing for LSNs between " msg("mariabackup: warning: changed page data missing for LSNs between "
LSN_PF " and " LSN_PF "\n", missing_interval_start, LSN_PF " and " LSN_PF, missing_interval_start,
missing_interval_end); missing_interval_end);
} }
...@@ -614,7 +614,7 @@ xb_page_bitmap_init(void) ...@@ -614,7 +614,7 @@ xb_page_bitmap_init(void)
msg("mariabackup: incremental backup LSN " LSN_PF msg("mariabackup: incremental backup LSN " LSN_PF
" is larger than than the last checkpoint LSN " LSN_PF " is larger than than the last checkpoint LSN " LSN_PF
"\n", bmp_start_lsn, bmp_end_lsn); , bmp_start_lsn, bmp_end_lsn);
return NULL; return NULL;
} }
...@@ -698,7 +698,7 @@ xb_page_bitmap_init(void) ...@@ -698,7 +698,7 @@ xb_page_bitmap_init(void)
bmp_start_lsn))) { bmp_start_lsn))) {
msg("mariabackup: Warning: changed page bitmap file " msg("mariabackup: Warning: changed page bitmap file "
"\'%s\' corrupted\n", bitmap_file.name); "\'%s\' corrupted", bitmap_file.name);
rbt_free(result); rbt_free(result);
free(bitmap_files.files); free(bitmap_files.files);
os_file_close(bitmap_file.file); os_file_close(bitmap_file.file);
...@@ -803,7 +803,7 @@ xb_page_bitmap_init(void) ...@@ -803,7 +803,7 @@ xb_page_bitmap_init(void)
if (UNIV_UNLIKELY(!last_page_ok)) { if (UNIV_UNLIKELY(!last_page_ok)) {
msg("mariabackup: warning: changed page bitmap file " msg("mariabackup: warning: changed page bitmap file "
"\'%s\' corrupted.\n", bitmap_file.name); "\'%s\' corrupted.", bitmap_file.name);
rbt_free(result); rbt_free(result);
free(bitmap_files.files); free(bitmap_files.files);
os_file_close(bitmap_file.file); os_file_close(bitmap_file.file);
......
...@@ -72,7 +72,7 @@ static inline int asprintf(char **strp, const char *fmt,...) ...@@ -72,7 +72,7 @@ static inline int asprintf(char **strp, const char *fmt,...)
#define xb_a(expr) \ #define xb_a(expr) \
do { \ do { \
if (!(expr)) { \ if (!(expr)) { \
msg("Assertion \"%s\" failed at %s:%lu\n", \ fprintf(stderr,"Assertion \"%s\" failed at %s:%lu\n", \
#expr, __FILE__, (ulong) __LINE__); \ #expr, __FILE__, (ulong) __LINE__); \
abort(); \ abort(); \
} \ } \
...@@ -86,42 +86,48 @@ static inline int asprintf(char **strp, const char *fmt,...) ...@@ -86,42 +86,48 @@ static inline int asprintf(char **strp, const char *fmt,...)
#define XB_DELTA_INFO_SUFFIX ".meta" #define XB_DELTA_INFO_SUFFIX ".meta"
static inline int msg(const char *fmt, ...) ATTRIBUTE_FORMAT(printf, 1, 2);
static inline int msg(const char *fmt, ...) static inline int msg1(unsigned int thread_num, const char *fmt, ...) ATTRIBUTE_FORMAT(printf, 2, 3);
static inline int msg1(uint thread_num, const char *fmt, va_list args)
{
int result;
time_t t = time(NULL);
char date[100];
char *line;
strftime(date, sizeof(date), "%Y-%m-%d %H:%M:%S", localtime(&t));
result = vasprintf(&line, fmt, args);
if (result != -1) {
if (fmt && fmt[strlen(fmt)] != '\n')
result = fprintf(stderr, "[%02u] %s %s\n", thread_num, date, line);
else
result = fprintf(stderr, "[%02u] %s %s", thread_num, date, line);
free(line);
}
return result;
}
static inline int msg(unsigned int, const char *fmt, ...) ATTRIBUTE_FORMAT(printf, 2, 3);
static inline int msg(unsigned int thread_num, const char *fmt, ...)
{ {
int result; int result;
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
result = vfprintf(stderr, fmt, args); result = msg1(thread_num, fmt, args);
va_end(args); va_end(args);
return result; return result;
} }
static inline int msg_ts(const char *fmt, ...) ATTRIBUTE_FORMAT(printf, 1, 2); static inline int msg(const char *fmt, ...) ATTRIBUTE_FORMAT(printf, 1, 2);
static inline int msg_ts(const char *fmt, ...) static inline int msg(const char *fmt, ...)
{ {
int result; int result;
time_t t = time(NULL);
char date[100];
char *line;
va_list args; va_list args;
strftime(date, sizeof(date), "%y%m%d %H:%M:%S", localtime(&t));
va_start(args, fmt); va_start(args, fmt);
result = vasprintf(&line, fmt, args); result = msg1(0, fmt, args);
va_end(args); va_end(args);
if (result != -1) {
result = fprintf(stderr, "%s %s", date, line);
free(line);
}
return result; return result;
} }
/* Use POSIX_FADV_NORMAL when available */ /* Use POSIX_FADV_NORMAL when available */
#ifdef POSIX_FADV_NORMAL #ifdef POSIX_FADV_NORMAL
......
...@@ -71,7 +71,7 @@ ds_create(const char *root, ds_type_t type) ...@@ -71,7 +71,7 @@ ds_create(const char *root, ds_type_t type)
ds = &datasink_buffer; ds = &datasink_buffer;
break; break;
default: default:
msg("Unknown datasink type: %d\n", type); msg("Unknown datasink type: %d", type);
xb_ad(0); xb_ad(0);
return NULL; return NULL;
} }
...@@ -80,7 +80,7 @@ ds_create(const char *root, ds_type_t type) ...@@ -80,7 +80,7 @@ ds_create(const char *root, ds_type_t type)
if (ctxt != NULL) { if (ctxt != NULL) {
ctxt->datasink = ds; ctxt->datasink = ds;
} else { } else {
msg("Error: failed to initialize datasink.\n"); msg("Error: failed to initialize datasink.");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
......
...@@ -71,7 +71,7 @@ buffer_init(const char *root) ...@@ -71,7 +71,7 @@ buffer_init(const char *root)
ds_ctxt_t *ctxt; ds_ctxt_t *ctxt;
ds_buffer_ctxt_t *buffer_ctxt; ds_buffer_ctxt_t *buffer_ctxt;
ctxt = my_malloc(sizeof(ds_ctxt_t) + sizeof(ds_buffer_ctxt_t), ctxt = (ds_ctxt_t *)my_malloc(sizeof(ds_ctxt_t) + sizeof(ds_buffer_ctxt_t),
MYF(MY_FAE)); MYF(MY_FAE));
buffer_ctxt = (ds_buffer_ctxt_t *) (ctxt + 1); buffer_ctxt = (ds_buffer_ctxt_t *) (ctxt + 1);
buffer_ctxt->buffer_size = DS_DEFAULT_BUFFER_SIZE; buffer_ctxt->buffer_size = DS_DEFAULT_BUFFER_SIZE;
......
...@@ -95,7 +95,7 @@ compress_init(const char *root) ...@@ -95,7 +95,7 @@ compress_init(const char *root)
/* Create and initialize the worker threads */ /* Create and initialize the worker threads */
threads = create_worker_threads(xtrabackup_compress_threads); threads = create_worker_threads(xtrabackup_compress_threads);
if (threads == NULL) { if (threads == NULL) {
msg("compress: failed to create worker threads.\n"); msg("compress: failed to create worker threads.");
return NULL; return NULL;
} }
...@@ -243,7 +243,7 @@ compress_write(ds_file_t *file, const uchar *buf, size_t len) ...@@ -243,7 +243,7 @@ compress_write(ds_file_t *file, const uchar *buf, size_t len)
write_uint64_le(dest_file, write_uint64_le(dest_file,
comp_file->bytes_processed)) { comp_file->bytes_processed)) {
msg("compress: write to the destination stream " msg("compress: write to the destination stream "
"failed.\n"); "failed.");
return 1; return 1;
} }
...@@ -253,7 +253,7 @@ compress_write(ds_file_t *file, const uchar *buf, size_t len) ...@@ -253,7 +253,7 @@ compress_write(ds_file_t *file, const uchar *buf, size_t len)
ds_write(dest_file, threads[i].to, ds_write(dest_file, threads[i].to,
threads[i].to_len)) { threads[i].to_len)) {
msg("compress: write to the destination stream " msg("compress: write to the destination stream "
"failed.\n"); "failed.");
return 1; return 1;
} }
...@@ -367,7 +367,7 @@ create_worker_threads(uint n) ...@@ -367,7 +367,7 @@ create_worker_threads(uint n)
if (pthread_create(&thd->id, NULL, compress_worker_thread_func, if (pthread_create(&thd->id, NULL, compress_worker_thread_func,
thd)) { thd)) {
msg("compress: pthread_create() failed: " msg("compress: pthread_create() failed: "
"errno = %d\n", errno); "errno = %d", errno);
goto err; goto err;
} }
} }
......
...@@ -48,7 +48,7 @@ stdout_init(const char *root) ...@@ -48,7 +48,7 @@ stdout_init(const char *root)
{ {
ds_ctxt_t *ctxt; ds_ctxt_t *ctxt;
ctxt = my_malloc(sizeof(ds_ctxt_t), MYF(MY_FAE)); ctxt = (ds_ctxt_t *)my_malloc(sizeof(ds_ctxt_t), MYF(MY_FAE));
ctxt->root = my_strdup(root, MYF(MY_FAE)); ctxt->root = my_strdup(root, MYF(MY_FAE));
......
...@@ -60,7 +60,7 @@ tmpfile_init(const char *root) ...@@ -60,7 +60,7 @@ tmpfile_init(const char *root)
ds_ctxt_t *ctxt; ds_ctxt_t *ctxt;
ds_tmpfile_ctxt_t *tmpfile_ctxt; ds_tmpfile_ctxt_t *tmpfile_ctxt;
ctxt = my_malloc(sizeof(ds_ctxt_t) + sizeof(ds_tmpfile_ctxt_t), ctxt = (ds_ctxt_t *)my_malloc(sizeof(ds_ctxt_t) + sizeof(ds_tmpfile_ctxt_t),
MYF(MY_FAE)); MYF(MY_FAE));
tmpfile_ctxt = (ds_tmpfile_ctxt_t *) (ctxt + 1); tmpfile_ctxt = (ds_tmpfile_ctxt_t *) (ctxt + 1);
tmpfile_ctxt->file_list = NULL; tmpfile_ctxt->file_list = NULL;
...@@ -191,11 +191,11 @@ tmpfile_deinit(ds_ctxt_t *ctxt) ...@@ -191,11 +191,11 @@ tmpfile_deinit(ds_ctxt_t *ctxt)
/* Walk the files in the order they have been added */ /* Walk the files in the order they have been added */
list = list_reverse(list); list = list_reverse(list);
while (list != NULL) { while (list != NULL) {
tmp_file = list->data; tmp_file = (ds_tmp_file_t *)list->data;
/* Stat the file to replace size and mtime on the original /* Stat the file to replace size and mtime on the original
* mystat struct */ * mystat struct */
if (my_fstat(tmp_file->fd, &mystat, MYF(0))) { if (my_fstat(tmp_file->fd, &mystat, MYF(0))) {
msg("error: my_fstat() failed.\n"); msg("error: my_fstat() failed.");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
tmp_file->mystat.st_size = mystat.st_size; tmp_file->mystat.st_size = mystat.st_size;
...@@ -205,7 +205,7 @@ tmpfile_deinit(ds_ctxt_t *ctxt) ...@@ -205,7 +205,7 @@ tmpfile_deinit(ds_ctxt_t *ctxt)
&tmp_file->mystat); &tmp_file->mystat);
if (dst_file == NULL) { if (dst_file == NULL) {
msg("error: could not stream a temporary file to " msg("error: could not stream a temporary file to "
"'%s'\n", tmp_file->orig_path); "'%s'", tmp_file->orig_path);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
...@@ -213,17 +213,17 @@ tmpfile_deinit(ds_ctxt_t *ctxt) ...@@ -213,17 +213,17 @@ tmpfile_deinit(ds_ctxt_t *ctxt)
posix_fadvise(tmp_file->fd, 0, 0, POSIX_FADV_SEQUENTIAL); posix_fadvise(tmp_file->fd, 0, 0, POSIX_FADV_SEQUENTIAL);
if (my_seek(tmp_file->fd, 0, SEEK_SET, MYF(0)) == if (my_seek(tmp_file->fd, 0, SEEK_SET, MYF(0)) ==
MY_FILEPOS_ERROR) { MY_FILEPOS_ERROR) {
msg("error: my_seek() failed for '%s', errno = %d.\n", msg("error: my_seek() failed for '%s', errno = %d.",
tmp_file->file->path, my_errno); tmp_file->file->path, my_errno);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
offset = 0; offset = 0;
while ((bytes = my_read(tmp_file->fd, buf, buf_size, while ((bytes = my_read(tmp_file->fd, (unsigned char *)buf, buf_size,
MYF(MY_WME))) > 0) { MYF(MY_WME))) > 0) {
posix_fadvise(tmp_file->fd, offset, buf_size, POSIX_FADV_DONTNEED); posix_fadvise(tmp_file->fd, offset, buf_size, POSIX_FADV_DONTNEED);
offset += buf_size; offset += buf_size;
if (ds_write(dst_file, buf, bytes)) { if (ds_write(dst_file, buf, bytes)) {
msg("error: cannot write to stream for '%s'.\n", msg("error: cannot write to stream for '%s'.",
tmp_file->orig_path); tmp_file->orig_path);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
......
...@@ -79,18 +79,18 @@ xbstream_init(const char *root __attribute__((unused))) ...@@ -79,18 +79,18 @@ xbstream_init(const char *root __attribute__((unused)))
ds_stream_ctxt_t *stream_ctxt; ds_stream_ctxt_t *stream_ctxt;
xb_wstream_t *xbstream; xb_wstream_t *xbstream;
ctxt = my_malloc(sizeof(ds_ctxt_t) + sizeof(ds_stream_ctxt_t), ctxt = (ds_ctxt_t *)my_malloc(sizeof(ds_ctxt_t) + sizeof(ds_stream_ctxt_t),
MYF(MY_FAE)); MYF(MY_FAE));
stream_ctxt = (ds_stream_ctxt_t *)(ctxt + 1); stream_ctxt = (ds_stream_ctxt_t *)(ctxt + 1);
if (pthread_mutex_init(&stream_ctxt->mutex, NULL)) { if (pthread_mutex_init(&stream_ctxt->mutex, NULL)) {
msg("xbstream_init: pthread_mutex_init() failed.\n"); msg("xbstream_init: pthread_mutex_init() failed.");
goto err; goto err;
} }
xbstream = xb_stream_write_new(); xbstream = xb_stream_write_new();
if (xbstream == NULL) { if (xbstream == NULL) {
msg("xb_stream_write_new() failed.\n"); msg("xb_stream_write_new() failed.");
goto err; goto err;
} }
stream_ctxt->xbstream = xbstream; stream_ctxt->xbstream = xbstream;
...@@ -143,7 +143,7 @@ xbstream_open(ds_ctxt_t *ctxt, const char *path, MY_STAT *mystat) ...@@ -143,7 +143,7 @@ xbstream_open(ds_ctxt_t *ctxt, const char *path, MY_STAT *mystat)
my_xbstream_write_callback); my_xbstream_write_callback);
if (xbstream_file == NULL) { if (xbstream_file == NULL) {
msg("xb_stream_write_open() failed.\n"); msg("xb_stream_write_open() failed.");
goto err; goto err;
} }
...@@ -177,7 +177,7 @@ xbstream_write(ds_file_t *file, const uchar *buf, size_t len) ...@@ -177,7 +177,7 @@ xbstream_write(ds_file_t *file, const uchar *buf, size_t len)
xbstream_file = stream_file->xbstream_file; xbstream_file = stream_file->xbstream_file;
if (xb_stream_write_data(xbstream_file, buf, len)) { if (xb_stream_write_data(xbstream_file, buf, len)) {
msg("xb_stream_write_data() failed.\n"); msg("xb_stream_write_data() failed.");
return 1; return 1;
} }
...@@ -209,7 +209,7 @@ xbstream_deinit(ds_ctxt_t *ctxt) ...@@ -209,7 +209,7 @@ xbstream_deinit(ds_ctxt_t *ctxt)
stream_ctxt = (ds_stream_ctxt_t *) ctxt->ptr; stream_ctxt = (ds_stream_ctxt_t *) ctxt->ptr;
if (xb_stream_write_done(stream_ctxt->xbstream)) { if (xb_stream_write_done(stream_ctxt->xbstream)) {
msg("xb_stream_done() failed.\n"); msg("xb_stream_done() failed.");
} }
if (stream_ctxt->dest_file) { if (stream_ctxt->dest_file) {
......
...@@ -45,7 +45,7 @@ static std::string get_encryption_plugin_from_cnf() ...@@ -45,7 +45,7 @@ static std::string get_encryption_plugin_from_cnf()
FILE *f = fopen("backup-my.cnf", "r"); FILE *f = fopen("backup-my.cnf", "r");
if (!f) if (!f)
{ {
msg("cannot open backup-my.cnf for reading\n"); msg("Can't open backup-my.cnf for reading");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
char line[512]; char line[512];
...@@ -167,7 +167,7 @@ void encryption_plugin_prepare_init(int argc, char **argv) ...@@ -167,7 +167,7 @@ void encryption_plugin_prepare_init(int argc, char **argv)
std::string plugin_load= get_encryption_plugin_from_cnf(); std::string plugin_load= get_encryption_plugin_from_cnf();
if (plugin_load.size()) if (plugin_load.size())
{ {
msg("Loading encryption plugin from %s\n", plugin_load.c_str()); msg("Loading encryption plugin from %s", plugin_load.c_str());
} }
else else
{ {
...@@ -193,9 +193,9 @@ static void encryption_plugin_init(int argc, char **argv) ...@@ -193,9 +193,9 @@ static void encryption_plugin_init(int argc, char **argv)
{ {
/* Patch optional and mandatory plugins, we only need to load the one in xb_plugin_load. */ /* Patch optional and mandatory plugins, we only need to load the one in xb_plugin_load. */
mysql_optional_plugins[0] = mysql_mandatory_plugins[0] = 0; mysql_optional_plugins[0] = mysql_mandatory_plugins[0] = 0;
msg("Loading encryption plugin\n"); msg("Loading encryption plugin");
for (int i= 1; i < argc; i++) for (int i= 1; i < argc; i++)
msg("\t Encryption plugin parameter : '%s'\n", argv[i]); msg("\t Encryption plugin parameter : '%s'", argv[i]);
plugin_init(&argc, argv, PLUGIN_INIT_SKIP_PLUGIN_TABLE); plugin_init(&argc, argv, PLUGIN_INIT_SKIP_PLUGIN_TABLE);
} }
...@@ -174,9 +174,8 @@ xb_fil_cur_open( ...@@ -174,9 +174,8 @@ xb_fil_cur_open(
/* The following call prints an error message */ /* The following call prints an error message */
os_file_get_last_error(TRUE); os_file_get_last_error(TRUE);
msg("[%02u] mariabackup: error: cannot open " msg(thread_n, "mariabackup: error: cannot open "
"tablespace %s\n", "tablespace %s", cursor->abs_path);
thread_n, cursor->abs_path);
return(XB_FIL_CUR_SKIP); return(XB_FIL_CUR_SKIP);
} }
...@@ -217,8 +216,8 @@ xb_fil_cur_open( ...@@ -217,8 +216,8 @@ xb_fil_cur_open(
cursor->statinfo.st_size = (ulonglong)max_file_size; cursor->statinfo.st_size = (ulonglong)max_file_size;
} }
if (err) { if (err) {
msg("[%02u] mariabackup: error: cannot fstat %s\n", msg(thread_n, "mariabackup: error: cannot fstat %s",
thread_n, cursor->abs_path); cursor->abs_path);
xb_fil_cur_close(cursor); xb_fil_cur_close(cursor);
...@@ -262,8 +261,6 @@ xb_fil_cur_open( ...@@ -262,8 +261,6 @@ xb_fil_cur_open(
mutex_exit(&fil_system->mutex); mutex_exit(&fil_system->mutex);
} }
/*msg("crypt: %s,%u\n", node->name, node->space->crypt_data->type);*/
cursor->space_size = (ulint)(cursor->statinfo.st_size cursor->space_size = (ulint)(cursor->statinfo.st_size
/ page_size.physical()); / page_size.physical());
...@@ -413,14 +410,8 @@ xb_fil_cur_read( ...@@ -413,14 +410,8 @@ xb_fil_cur_read(
&& offset + to_read == cursor->statinfo.st_size) { && offset + to_read == cursor->statinfo.st_size) {
if (to_read < (ib_int64_t) page_size) { if (to_read < (ib_int64_t) page_size) {
msg("[%02u] mariabackup: Warning: junk at the end of " msg(cursor->thread_n, "Warning: junk at the end of "
"%s:\n", cursor->thread_n, cursor->abs_path); "%s, offset = %llu, to_read = %llu",cursor->abs_path, (ulonglong) offset, (ulonglong) to_read);
msg("[%02u] mariabackup: Warning: offset = %llu, "
"to_read = %llu\n",
cursor->thread_n,
(unsigned long long) offset,
(unsigned long long) to_read);
return(XB_FIL_CUR_EOF); return(XB_FIL_CUR_EOF);
} }
...@@ -464,20 +455,17 @@ xb_fil_cur_read( ...@@ -464,20 +455,17 @@ xb_fil_cur_read(
retry_count--; retry_count--;
if (retry_count == 0) { if (retry_count == 0) {
msg("[%02u] mariabackup: " msg(cursor->thread_n,
"Error: failed to read page after " "Error: failed to read page after "
"10 retries. File %s seems to be " "10 retries. File %s seems to be "
"corrupted.\n", cursor->thread_n, "corrupted.", cursor->abs_path);
cursor->abs_path);
ret = XB_FIL_CUR_ERROR; ret = XB_FIL_CUR_ERROR;
buf_page_print(page, cursor->page_size); buf_page_print(page, cursor->page_size);
break; break;
} }
msg("[%02u] mariabackup: " msg(cursor->thread_n, "Database page corruption detected at page "
"Database page corruption detected at page " ULINTPF ", retrying...",
ULINTPF ", retrying...\n", cursor->thread_n,
page_no); page_no);
os_thread_sleep(100000); os_thread_sleep(100000);
goto read_retry; goto read_retry;
} }
......
...@@ -738,7 +738,7 @@ ibx_get_one_option(int optid, ...@@ -738,7 +738,7 @@ ibx_get_one_option(int optid,
exit(0); exit(0);
break; break;
case 'v': case 'v':
msg("innobackupex version %s %s (%s)\n", printf("innobackupex version %s %s (%s)",
MYSQL_SERVER_VERSION, MYSQL_SERVER_VERSION,
SYSTEM_TYPE, MACHINE_TYPE); SYSTEM_TYPE, MACHINE_TYPE);
exit(0); exit(0);
......
...@@ -79,9 +79,8 @@ wf_incremental_init(xb_write_filt_ctxt_t *ctxt, char *dst_name, ...@@ -79,9 +79,8 @@ wf_incremental_init(xb_write_filt_ctxt_t *ctxt, char *dst_name,
cp->delta_buf = (unsigned char *)os_mem_alloc_large(&cp->delta_buf_size); cp->delta_buf = (unsigned char *)os_mem_alloc_large(&cp->delta_buf_size);
if (!cp->delta_buf) { if (!cp->delta_buf) {
msg("[%02u] mariabackup: Error: " msg(cursor->thread_n,"Can't allocate %zu bytes",
"cannot allocate %zu bytes\n", (size_t) cp->delta_buf_size);
cursor->thread_n, (size_t) cp->delta_buf_size);
return (FALSE); return (FALSE);
} }
...@@ -90,9 +89,9 @@ wf_incremental_init(xb_write_filt_ctxt_t *ctxt, char *dst_name, ...@@ -90,9 +89,9 @@ wf_incremental_init(xb_write_filt_ctxt_t *ctxt, char *dst_name,
XB_DELTA_INFO_SUFFIX); XB_DELTA_INFO_SUFFIX);
const xb_delta_info_t info(cursor->page_size, cursor->space_id); const xb_delta_info_t info(cursor->page_size, cursor->space_id);
if (!xb_write_delta_metadata(meta_name, &info)) { if (!xb_write_delta_metadata(meta_name, &info)) {
msg("[%02u] mariabackup: Error: " msg(cursor->thread_n,"Error: "
"failed to write meta info for %s\n", "failed to write meta info for %s",
cursor->thread_n, cursor->rel_path); cursor->rel_path);
return(FALSE); return(FALSE);
} }
......
...@@ -45,7 +45,6 @@ datasink_t datasink_archive; ...@@ -45,7 +45,6 @@ datasink_t datasink_archive;
datasink_t datasink_xbstream; datasink_t datasink_xbstream;
datasink_t datasink_compress; datasink_t datasink_compress;
datasink_t datasink_tmpfile; datasink_t datasink_tmpfile;
datasink_t datasink_buffer;
static run_mode_t opt_mode; static run_mode_t opt_mode;
static char * opt_directory = NULL; static char * opt_directory = NULL;
...@@ -106,7 +105,7 @@ main(int argc, char **argv) ...@@ -106,7 +105,7 @@ main(int argc, char **argv)
} }
if (opt_mode == RUN_MODE_NONE) { if (opt_mode == RUN_MODE_NONE) {
msg("%s: either -c or -x must be specified.\n", my_progname); msg("%s: either -c or -x must be specified.", my_progname);
goto err; goto err;
} }
...@@ -184,7 +183,7 @@ int ...@@ -184,7 +183,7 @@ int
set_run_mode(run_mode_t mode) set_run_mode(run_mode_t mode)
{ {
if (opt_mode != RUN_MODE_NONE) { if (opt_mode != RUN_MODE_NONE) {
msg("%s: can't set specify both -c and -x.\n", my_progname); msg("%s: can't set specify both -c and -x.", my_progname);
return 1; return 1;
} }
...@@ -233,7 +232,7 @@ stream_one_file(File file, xb_wstream_file_t *xbfile) ...@@ -233,7 +232,7 @@ stream_one_file(File file, xb_wstream_file_t *xbfile)
while ((bytes = (ssize_t)my_read(file, buf, XBSTREAM_BUFFER_SIZE, while ((bytes = (ssize_t)my_read(file, buf, XBSTREAM_BUFFER_SIZE,
MYF(MY_WME))) > 0) { MYF(MY_WME))) > 0) {
if (xb_stream_write_data(xbfile, buf, bytes)) { if (xb_stream_write_data(xbfile, buf, bytes)) {
msg("%s: xb_stream_write_data() failed.\n", msg("%s: xb_stream_write_data() failed.",
my_progname); my_progname);
my_free(buf); my_free(buf);
return 1; return 1;
...@@ -262,13 +261,13 @@ mode_create(int argc, char **argv) ...@@ -262,13 +261,13 @@ mode_create(int argc, char **argv)
xb_wstream_t *stream; xb_wstream_t *stream;
if (argc < 1) { if (argc < 1) {
msg("%s: no files are specified.\n", my_progname); msg("%s: no files are specified.", my_progname);
return 1; return 1;
} }
stream = xb_stream_write_new(); stream = xb_stream_write_new();
if (stream == NULL) { if (stream == NULL) {
msg("%s: xb_stream_write_new() failed.\n", my_progname); msg("%s: xb_stream_write_new() failed.", my_progname);
return 1; return 1;
} }
...@@ -281,13 +280,13 @@ mode_create(int argc, char **argv) ...@@ -281,13 +280,13 @@ mode_create(int argc, char **argv)
goto err; goto err;
} }
if (!MY_S_ISREG(mystat.st_mode)) { if (!MY_S_ISREG(mystat.st_mode)) {
msg("%s: %s is not a regular file, exiting.\n", msg("%s: %s is not a regular file, exiting.",
my_progname, filepath); my_progname, filepath);
goto err; goto err;
} }
if ((src_file = my_open(filepath, O_RDONLY, MYF(MY_WME))) < 0) { if ((src_file = my_open(filepath, O_RDONLY, MYF(MY_WME))) < 0) {
msg("%s: failed to open %s.\n", my_progname, filepath); msg("%s: failed to open %s.", my_progname, filepath);
goto err; goto err;
} }
...@@ -297,7 +296,7 @@ mode_create(int argc, char **argv) ...@@ -297,7 +296,7 @@ mode_create(int argc, char **argv)
} }
if (opt_verbose) { if (opt_verbose) {
msg("%s\n", filepath); msg("%s", filepath);
} }
if (stream_one_file(src_file, file) || if (stream_one_file(src_file, file) ||
...@@ -338,12 +337,12 @@ file_entry_new(extract_ctxt_t *ctxt, const char *path, uint pathlen) ...@@ -338,12 +337,12 @@ file_entry_new(extract_ctxt_t *ctxt, const char *path, uint pathlen)
file = ds_open(ctxt->ds_ctxt, path, NULL); file = ds_open(ctxt->ds_ctxt, path, NULL);
if (file == NULL) { if (file == NULL) {
msg("%s: failed to create file.\n", my_progname); msg("%s: failed to create file.", my_progname);
goto err; goto err;
} }
if (opt_verbose) { if (opt_verbose) {
msg("%s\n", entry->path); msg("%s", entry->path);
} }
entry->file = file; entry->file = file;
...@@ -425,7 +424,7 @@ extract_worker_thread_func(void *arg) ...@@ -425,7 +424,7 @@ extract_worker_thread_func(void *arg)
break; break;
} }
if (my_hash_insert(ctxt->filehash, (uchar *) entry)) { if (my_hash_insert(ctxt->filehash, (uchar *) entry)) {
msg("%s: my_hash_insert() failed.\n", msg("%s: my_hash_insert() failed.",
my_progname); my_progname);
pthread_mutex_unlock(ctxt->mutex); pthread_mutex_unlock(ctxt->mutex);
break; break;
...@@ -454,7 +453,7 @@ extract_worker_thread_func(void *arg) ...@@ -454,7 +453,7 @@ extract_worker_thread_func(void *arg)
if (entry->offset != chunk.offset) { if (entry->offset != chunk.offset) {
msg("%s: out-of-order chunk: real offset = 0x%llx, " msg("%s: out-of-order chunk: real offset = 0x%llx, "
"expected offset = 0x%llx\n", my_progname, "expected offset = 0x%llx", my_progname,
chunk.offset, entry->offset); chunk.offset, entry->offset);
pthread_mutex_unlock(&entry->mutex); pthread_mutex_unlock(&entry->mutex);
res = XB_STREAM_READ_ERROR; res = XB_STREAM_READ_ERROR;
...@@ -462,7 +461,7 @@ extract_worker_thread_func(void *arg) ...@@ -462,7 +461,7 @@ extract_worker_thread_func(void *arg)
} }
if (ds_write(entry->file, chunk.data, chunk.length)) { if (ds_write(entry->file, chunk.data, chunk.length)) {
msg("%s: my_write() failed.\n", my_progname); msg("%s: my_write() failed.", my_progname);
pthread_mutex_unlock(&entry->mutex); pthread_mutex_unlock(&entry->mutex);
res = XB_STREAM_READ_ERROR; res = XB_STREAM_READ_ERROR;
break; break;
...@@ -500,12 +499,12 @@ mode_extract(int n_threads, int argc __attribute__((unused)), ...@@ -500,12 +499,12 @@ mode_extract(int n_threads, int argc __attribute__((unused)),
if (my_hash_init(&filehash, &my_charset_bin, START_FILE_HASH_SIZE, if (my_hash_init(&filehash, &my_charset_bin, START_FILE_HASH_SIZE,
0, 0, (my_hash_get_key) get_file_entry_key, 0, 0, (my_hash_get_key) get_file_entry_key,
(my_hash_free_key) file_entry_free, MYF(0))) { (my_hash_free_key) file_entry_free, MYF(0))) {
msg("%s: failed to initialize file hash.\n", my_progname); msg("%s: failed to initialize file hash.", my_progname);
return 1; return 1;
} }
if (pthread_mutex_init(&mutex, NULL)) { if (pthread_mutex_init(&mutex, NULL)) {
msg("%s: failed to initialize mutex.\n", my_progname); msg("%s: failed to initialize mutex.", my_progname);
my_hash_free(&filehash); my_hash_free(&filehash);
return 1; return 1;
} }
...@@ -520,7 +519,7 @@ mode_extract(int n_threads, int argc __attribute__((unused)), ...@@ -520,7 +519,7 @@ mode_extract(int n_threads, int argc __attribute__((unused)),
stream = xb_stream_read_new(); stream = xb_stream_read_new();
if (stream == NULL) { if (stream == NULL) {
msg("%s: xb_stream_read_new() failed.\n", my_progname); msg("%s: xb_stream_read_new() failed.", my_progname);
pthread_mutex_destroy(&mutex); pthread_mutex_destroy(&mutex);
ret = 1; ret = 1;
goto exit; goto exit;
...@@ -531,8 +530,8 @@ mode_extract(int n_threads, int argc __attribute__((unused)), ...@@ -531,8 +530,8 @@ mode_extract(int n_threads, int argc __attribute__((unused)),
ctxt.ds_ctxt = ds_ctxt; ctxt.ds_ctxt = ds_ctxt;
ctxt.mutex = &mutex; ctxt.mutex = &mutex;
tids = calloc(n_threads, sizeof(pthread_t)); tids = (pthread_t *)calloc(n_threads, sizeof(pthread_t));
retvals = calloc(n_threads, sizeof(void*)); retvals = (void **)calloc(n_threads, sizeof(void*));
for (i = 0; i < n_threads; i++) for (i = 0; i < n_threads; i++)
pthread_create(tids + i, NULL, extract_worker_thread_func, pthread_create(tids + i, NULL, extract_worker_thread_func,
......
...@@ -101,6 +101,6 @@ xb_rstream_result_t xb_stream_read_chunk(xb_rstream_t *stream, ...@@ -101,6 +101,6 @@ xb_rstream_result_t xb_stream_read_chunk(xb_rstream_t *stream,
int xb_stream_read_done(xb_rstream_t *stream); int xb_stream_read_done(xb_rstream_t *stream);
int xb_stream_validate_checksum(xb_rstream_chunk_t *chunk); xb_rstream_result_t xb_stream_validate_checksum(xb_rstream_chunk_t *chunk);
#endif #endif
...@@ -67,15 +67,15 @@ validate_chunk_type(uchar code) ...@@ -67,15 +67,15 @@ validate_chunk_type(uchar code)
} }
} }
int xb_rstream_result_t
xb_stream_validate_checksum(xb_rstream_chunk_t *chunk) xb_stream_validate_checksum(xb_rstream_chunk_t *chunk)
{ {
ulong checksum; ulong checksum;
checksum = crc32_iso3309(0, chunk->data, (uint)chunk->length); checksum = crc32_iso3309(0, (unsigned char *)chunk->data, (uint)chunk->length);
if (checksum != chunk->checksum) { if (checksum != chunk->checksum) {
msg("xb_stream_read_chunk(): invalid checksum at offset " msg("xb_stream_read_chunk(): invalid checksum at offset "
"0x%llx: expected 0x%lx, read 0x%lx.\n", "0x%llx: expected 0x%lx, read 0x%lx.",
(ulonglong) chunk->checksum_offset, chunk->checksum, (ulonglong) chunk->checksum_offset, chunk->checksum,
checksum); checksum);
return XB_STREAM_READ_ERROR; return XB_STREAM_READ_ERROR;
...@@ -86,8 +86,8 @@ xb_stream_validate_checksum(xb_rstream_chunk_t *chunk) ...@@ -86,8 +86,8 @@ xb_stream_validate_checksum(xb_rstream_chunk_t *chunk)
#define F_READ(buf,len) \ #define F_READ(buf,len) \
do { \ do { \
if (xb_read_full(fd, buf, len) < len) { \ if (xb_read_full(fd, (uchar *)buf, len) < len) { \
msg("xb_stream_read_chunk(): my_read() failed.\n"); \ msg("xb_stream_read_chunk(): my_read() failed."); \
goto err; \ goto err; \
} \ } \
} while (0) } while (0)
...@@ -111,7 +111,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk) ...@@ -111,7 +111,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk)
return XB_STREAM_READ_EOF; return XB_STREAM_READ_EOF;
} else if (tbytes < CHUNK_HEADER_CONSTANT_LEN) { } else if (tbytes < CHUNK_HEADER_CONSTANT_LEN) {
msg("xb_stream_read_chunk(): unexpected end of stream at " msg("xb_stream_read_chunk(): unexpected end of stream at "
"offset 0x%llx.\n", stream->offset); "offset 0x%llx.", stream->offset);
goto err; goto err;
} }
...@@ -120,7 +120,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk) ...@@ -120,7 +120,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk)
/* Chunk magic value */ /* Chunk magic value */
if (memcmp(tmpbuf, XB_STREAM_CHUNK_MAGIC, 8)) { if (memcmp(tmpbuf, XB_STREAM_CHUNK_MAGIC, 8)) {
msg("xb_stream_read_chunk(): wrong chunk magic at offset " msg("xb_stream_read_chunk(): wrong chunk magic at offset "
"0x%llx.\n", (ulonglong) stream->offset); "0x%llx.", (ulonglong) stream->offset);
goto err; goto err;
} }
ptr += 8; ptr += 8;
...@@ -135,7 +135,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk) ...@@ -135,7 +135,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk)
if (chunk->type == XB_CHUNK_TYPE_UNKNOWN && if (chunk->type == XB_CHUNK_TYPE_UNKNOWN &&
!(chunk->flags & XB_STREAM_FLAG_IGNORABLE)) { !(chunk->flags & XB_STREAM_FLAG_IGNORABLE)) {
msg("xb_stream_read_chunk(): unknown chunk type 0x%lu at " msg("xb_stream_read_chunk(): unknown chunk type 0x%lu at "
"offset 0x%llx.\n", (ulong) *ptr, "offset 0x%llx.", (ulong) *ptr,
(ulonglong) stream->offset); (ulonglong) stream->offset);
goto err; goto err;
} }
...@@ -146,7 +146,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk) ...@@ -146,7 +146,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk)
pathlen = uint4korr(ptr); pathlen = uint4korr(ptr);
if (pathlen >= FN_REFLEN) { if (pathlen >= FN_REFLEN) {
msg("xb_stream_read_chunk(): path length (%lu) is too large at " msg("xb_stream_read_chunk(): path length (%lu) is too large at "
"offset 0x%llx.\n", (ulong) pathlen, stream->offset); "offset 0x%llx.", (ulong) pathlen, stream->offset);
goto err; goto err;
} }
chunk->pathlen = pathlen; chunk->pathlen = pathlen;
...@@ -170,7 +170,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk) ...@@ -170,7 +170,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk)
ullval = uint8korr(tmpbuf); ullval = uint8korr(tmpbuf);
if (ullval > (ulonglong) SIZE_T_MAX) { if (ullval > (ulonglong) SIZE_T_MAX) {
msg("xb_stream_read_chunk(): chunk length is too large at " msg("xb_stream_read_chunk(): chunk length is too large at "
"offset 0x%llx: 0x%llx.\n", (ulonglong) stream->offset, "offset 0x%llx: 0x%llx.", (ulonglong) stream->offset,
ullval); ullval);
goto err; goto err;
} }
...@@ -181,7 +181,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk) ...@@ -181,7 +181,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk)
ullval = uint8korr(tmpbuf + 8); ullval = uint8korr(tmpbuf + 8);
if (ullval > (ulonglong) MY_OFF_T_MAX) { if (ullval > (ulonglong) MY_OFF_T_MAX) {
msg("xb_stream_read_chunk(): chunk offset is too large at " msg("xb_stream_read_chunk(): chunk offset is too large at "
"offset 0x%llx: 0x%llx.\n", (ulonglong) stream->offset, "offset 0x%llx: 0x%llx.", (ulonglong) stream->offset,
ullval); ullval);
goto err; goto err;
} }
...@@ -194,7 +194,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk) ...@@ -194,7 +194,7 @@ xb_stream_read_chunk(xb_rstream_t *stream, xb_rstream_chunk_t *chunk)
MYF(MY_WME | MY_ALLOW_ZERO_PTR)); MYF(MY_WME | MY_ALLOW_ZERO_PTR));
if (chunk->data == NULL) { if (chunk->data == NULL) {
msg("xb_stream_read_chunk(): failed to increase buffer " msg("xb_stream_read_chunk(): failed to increase buffer "
"to %lu bytes.\n", (ulong) chunk->length); "to %lu bytes.", (ulong) chunk->length);
goto err; goto err;
} }
chunk->buflen = chunk->length; chunk->buflen = chunk->length;
......
...@@ -55,7 +55,7 @@ xb_stream_default_write_callback(xb_wstream_file_t *file __attribute__((unused)) ...@@ -55,7 +55,7 @@ xb_stream_default_write_callback(xb_wstream_file_t *file __attribute__((unused))
void *userdata __attribute__((unused)), void *userdata __attribute__((unused)),
const void *buf, size_t len) const void *buf, size_t len)
{ {
if (my_write(my_fileno(stdout), buf, len, MYF(MY_WME | MY_NABP))) if (my_write(my_fileno(stdout), (const uchar *)buf, len, MYF(MY_WME | MY_NABP)))
return -1; return -1;
return len; return len;
} }
...@@ -83,7 +83,7 @@ xb_stream_write_open(xb_wstream_t *stream, const char *path, ...@@ -83,7 +83,7 @@ xb_stream_write_open(xb_wstream_t *stream, const char *path,
path_len = strlen(path); path_len = strlen(path);
if (path_len > FN_REFLEN) { if (path_len > FN_REFLEN) {
msg("xb_stream_write_open(): file path is too long.\n"); msg("xb_stream_write_open(): file path is too long.");
return NULL; return NULL;
} }
...@@ -216,7 +216,7 @@ xb_stream_write_chunk(xb_wstream_file_t *file, const void *buf, size_t len) ...@@ -216,7 +216,7 @@ xb_stream_write_chunk(xb_wstream_file_t *file, const void *buf, size_t len)
int8store(ptr, len); /* Payload length */ int8store(ptr, len); /* Payload length */
ptr += 8; ptr += 8;
checksum = crc32_iso3309(0, buf, (uint)len); /* checksum */ checksum = crc32_iso3309(0, (const uchar *)buf, (uint)len); /* checksum */
pthread_mutex_lock(&stream->mutex); pthread_mutex_lock(&stream->mutex);
......
This diff is collapsed.
...@@ -71,7 +71,7 @@ extern char *xtrabackup_databases_file; ...@@ -71,7 +71,7 @@ extern char *xtrabackup_databases_file;
extern char *xtrabackup_tables_exclude; extern char *xtrabackup_tables_exclude;
extern char *xtrabackup_databases_exclude; extern char *xtrabackup_databases_exclude;
extern ibool xtrabackup_compress; extern uint xtrabackup_compress;
extern my_bool xtrabackup_backup; extern my_bool xtrabackup_backup;
extern my_bool xtrabackup_prepare; extern my_bool xtrabackup_prepare;
...@@ -86,14 +86,10 @@ extern int xtrabackup_parallel; ...@@ -86,14 +86,10 @@ extern int xtrabackup_parallel;
extern my_bool xb_close_files; extern my_bool xb_close_files;
extern const char *xtrabackup_compress_alg; extern const char *xtrabackup_compress_alg;
#ifdef __cplusplus
extern "C"{ extern uint xtrabackup_compress_threads;
#endif extern ulonglong xtrabackup_compress_chunk_size;
extern uint xtrabackup_compress_threads;
extern ulonglong xtrabackup_compress_chunk_size;
#ifdef __cplusplus
}
#endif
extern my_bool xtrabackup_export; extern my_bool xtrabackup_export;
extern char *xtrabackup_extra_lsndir; extern char *xtrabackup_extra_lsndir;
extern ulint xtrabackup_log_copy_interval; extern ulint xtrabackup_log_copy_interval;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment