Merge lp:~percona-dev/percona-xtrabackup/bug387587 into lp:percona-xtrabackup/2.0

Proposed by Alexey Kopytov
Status: Merged
Approved by: Valentine Gostev
Approved revision: no longer in the source branch.
Merged at revision: 258
Proposed branch: lp:~percona-dev/percona-xtrabackup/bug387587
Merge into: lp:percona-xtrabackup/2.0
Diff against target: 265 lines (+101/-23)
6 files modified
patches/tar4ibd_libtar-1.2.11.patch (+30/-14)
test/inc/common.sh (+13/-6)
test/t/bug606981.sh (+1/-1)
test/t/bug723318.sh (+1/-1)
test/t/tar4ibd_symlink.sh (+55/-0)
test/t/xb_stream.sh (+1/-1)
To merge this branch: bzr merge lp:~percona-dev/percona-xtrabackup/bug387587
Reviewer Review Type Date Requested Status
Valentine Gostev (community) qa Approve
Stewart Smith code review Pending
Percona developers Pending
Review via email: mp+62320@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Stewart Smith (stewart) wrote :

On Wed, 25 May 2011 15:05:58 -0000, Alexey Kopytov <email address hidden> wrote:
> Alexey Kopytov has proposed merging lp:~percona-dev/percona-xtrabackup/bug387587 into lp:percona-xtrabackup.

I also want this for 1.6.1 - which we need to create tree on lp
for. (based on 1.6 tree)

--
Stewart Smith

Revision history for this message
Valentine Gostev (longbow) wrote :

Looks fine

review: Approve (qa)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'patches/tar4ibd_libtar-1.2.11.patch'
--- patches/tar4ibd_libtar-1.2.11.patch 2011-03-15 21:58:13 +0000
+++ patches/tar4ibd_libtar-1.2.11.patch 2011-05-25 15:05:40 +0000
@@ -1,5 +1,6 @@
1--- a/lib/Makefile.in 2011-02-21 08:15:39.000000000 -08001diff -ruN a/lib/Makefile.in b/lib/Makefile.in
2+++ b/lib/Makefile.in 2011-02-23 06:43:36.000000000 -08002--- a/lib/Makefile.in 2011-05-25 16:46:41.000000000 +0400
3+++ b/lib/Makefile.in 2011-05-25 16:47:54.000000000 +0400
3@@ -29,7 +29,7 @@4@@ -29,7 +29,7 @@
4 -I${top_srcdir}/compat \5 -I${top_srcdir}/compat \
5 -I../listhash \6 -I../listhash \
@@ -9,8 +10,9 @@
9 LDFLAGS = @LDFLAGS@10 LDFLAGS = @LDFLAGS@
10 LIBS = @LIBS@11 LIBS = @LIBS@
11 LIBOBJS = @LIBOBJS@12 LIBOBJS = @LIBOBJS@
12--- a/lib/append.c 2011-02-21 08:15:39.000000000 -080013diff -ruN a/lib/append.c b/lib/append.c
13+++ b/lib/append.c 2011-02-23 21:31:20.000000000 -080014--- a/lib/append.c 2011-05-25 16:46:41.000000000 +0400
15+++ b/lib/append.c 2011-05-25 17:42:25.000000000 +0400
14@@ -27,6 +27,218 @@16@@ -27,6 +27,218 @@
15 # include <unistd.h>17 # include <unistd.h>
16 #endif18 #endif
@@ -230,6 +232,15 @@
230 232
231 struct tar_dev233 struct tar_dev
232 {234 {
235@@ -69,7 +281,7 @@
236 (savename ? savename : "[NULL]"));
237 #endif
238
239- if (lstat(realname, &s) != 0)
240+ if (stat(realname, &s) != 0)
241 {
242 #ifdef DEBUG
243 perror("lstat()");
233@@ -210,11 +422,14 @@244@@ -210,11 +422,14 @@
234 int245 int
235 tar_append_regfile(TAR *t, char *realname)246 tar_append_regfile(TAR *t, char *realname)
@@ -324,8 +335,9 @@
324 }335 }
325 336
326 close(filefd);337 close(filefd);
327--- a/lib/extract.c 2011-02-21 08:15:39.000000000 -0800338diff -ruN a/lib/extract.c b/lib/extract.c
328+++ b/lib/extract.c 2011-02-21 08:17:37.000000000 -0800339--- a/lib/extract.c 2011-05-25 16:46:41.000000000 +0400
340+++ b/lib/extract.c 2011-05-25 16:47:54.000000000 +0400
329@@ -158,11 +158,11 @@341@@ -158,11 +158,11 @@
330 tar_extract_regfile(TAR *t, char *realname)342 tar_extract_regfile(TAR *t, char *realname)
331 {343 {
@@ -340,8 +352,9 @@
340 char buf[T_BLOCKSIZE];352 char buf[T_BLOCKSIZE];
341 char *filename;353 char *filename;
342 354
343--- a/lib/libtar.h 2011-02-21 08:15:39.000000000 -0800355diff -ruN a/lib/libtar.h b/lib/libtar.h
344+++ b/lib/libtar.h 2011-02-21 08:17:37.000000000 -0800356--- a/lib/libtar.h 2011-05-25 16:46:41.000000000 +0400
357+++ b/lib/libtar.h 2011-05-25 16:47:54.000000000 +0400
345@@ -180,7 +180,7 @@358@@ -180,7 +180,7 @@
346 359
347 /* decode tar header info */360 /* decode tar header info */
@@ -381,8 +394,9 @@
381 394
382 395
383 /***** wrapper.c **********************************************************/396 /***** wrapper.c **********************************************************/
384--- a/lib/util.c 2011-02-21 08:15:39.000000000 -0800397diff -ruN a/lib/util.c b/lib/util.c
385+++ b/lib/util.c 2011-02-21 08:17:37.000000000 -0800398--- a/lib/util.c 2011-05-25 16:46:41.000000000 +0400
399+++ b/lib/util.c 2011-05-25 16:47:54.000000000 +0400
386@@ -138,6 +138,14 @@400@@ -138,6 +138,14 @@
387 return i;401 return i;
388 }402 }
@@ -445,8 +459,9 @@
445+ }459+ }
446+ return i;460+ return i;
447+}461+}
448--- a/libtar/Makefile.in 2011-02-21 08:15:39.000000000 -0800462diff -ruN a/libtar/Makefile.in b/libtar/Makefile.in
449+++ b/libtar/Makefile.in 2011-02-23 06:44:41.000000000 -0800463--- a/libtar/Makefile.in 2011-05-25 16:46:41.000000000 +0400
464+++ b/libtar/Makefile.in 2011-05-25 16:47:54.000000000 +0400
450@@ -29,7 +29,7 @@465@@ -29,7 +29,7 @@
451 -I${top_srcdir}/lib \466 -I${top_srcdir}/lib \
452 -I${top_srcdir}/compat \467 -I${top_srcdir}/compat \
@@ -482,8 +497,9 @@
482- ${INSTALL_PROGRAM} libtar ${DESTDIR}${bindir}497- ${INSTALL_PROGRAM} libtar ${DESTDIR}${bindir}
483+ ${INSTALL_PROGRAM} tar4ibd ${DESTDIR}${bindir}498+ ${INSTALL_PROGRAM} tar4ibd ${DESTDIR}${bindir}
484 499
485--- a/libtar/libtar.c 2011-02-21 08:15:39.000000000 -0800500diff -ruN a/libtar/libtar.c b/libtar/libtar.c
486+++ b/libtar/libtar.c 2011-02-23 06:56:56.000000000 -0800501--- a/libtar/libtar.c 2011-05-25 16:46:41.000000000 +0400
502+++ b/libtar/libtar.c 2011-05-25 16:47:54.000000000 +0400
487@@ -14,6 +14,7 @@503@@ -14,6 +14,7 @@
488 #include <libtar.h>504 #include <libtar.h>
489 505
490506
=== modified file 'test/inc/common.sh'
--- test/inc/common.sh 2011-04-15 18:38:43 +0000
+++ test/inc/common.sh 2011-05-25 15:05:40 +0000
@@ -6,6 +6,13 @@
6mysql_port="3306"6mysql_port="3306"
7mysql_socket=${mysql_socket:-"/tmp/xtrabackup.mysql.sock"}7mysql_socket=${mysql_socket:-"/tmp/xtrabackup.mysql.sock"}
88
9if gnutar --version > /dev/null 2>&1
10then
11 TAR=gnutar
12else
13 TAR=tar
14fi
15
9OUTFILE=results/`basename $0`_innobackupex.out16OUTFILE=results/`basename $0`_innobackupex.out
1017
11function vlog18function vlog
@@ -64,9 +71,9 @@
64 MYSQL_INSTALL_DB=mysql_install_db71 MYSQL_INSTALL_DB=mysql_install_db
65 MYSQL_ARGS="--no-defaults --socket=${mysql_socket} --user=root"72 MYSQL_ARGS="--no-defaults --socket=${mysql_socket} --user=root"
66 MYSQLD=mysqld73 MYSQLD=mysqld
67 MYSQL_BASEDIR="/usr"74 MYSQL_BASEDIR=${MYSQL_BASEDIR:-"/usr"}
68 MYSQLD_ARGS="--no-defaults --basedir=${MYSQL_BASEDIR} --socket=${mysql_socket} --datadir=$mysql_datadir"75 MYSQLD_ARGS="--no-defaults --basedir=${MYSQL_BASEDIR} --socket=${mysql_socket} --datadir=$mysql_datadir"
69 IB_BIN="innobackupex --defaults-file=$topdir/my.cnf"76 IB_BIN="innobackupex --defaults-file=$topdir/my.cnf --user=root"
70 XB_BIN=xtrabackup77 XB_BIN=xtrabackup
71 ;;78 ;;
72 5.0)79 5.0)
@@ -82,7 +89,7 @@
82 MYSQL_BASEDIR=$topdir/mysql-$version89 MYSQL_BASEDIR=$topdir/mysql-$version
83 MYSQLD_ARGS="--no-defaults --basedir=${MYSQL_BASEDIR} --socket=${mysql_socket} --datadir=$mysql_datadir"90 MYSQLD_ARGS="--no-defaults --basedir=${MYSQL_BASEDIR} --socket=${mysql_socket} --datadir=$mysql_datadir"
84 MYSQL_ARGS="--no-defaults --socket=${mysql_socket} --user=root"91 MYSQL_ARGS="--no-defaults --socket=${mysql_socket} --user=root"
85 IB_BIN="innobackupex --defaults-file=$topdir/my.cnf"92 IB_BIN="innobackupex --defaults-file=$topdir/my.cnf --user=root"
86 XB_BIN=xtrabackup_5193 XB_BIN=xtrabackup_51
87 cd -94 cd -
88 ;;95 ;;
@@ -99,7 +106,7 @@
99 MYSQL_BASEDIR=$topdir/mysql-$version106 MYSQL_BASEDIR=$topdir/mysql-$version
100 MYSQLD_ARGS="--no-defaults --basedir=${MYSQL_BASEDIR} --socket=${mysql_socket} --datadir=$mysql_datadir"107 MYSQLD_ARGS="--no-defaults --basedir=${MYSQL_BASEDIR} --socket=${mysql_socket} --datadir=$mysql_datadir"
101 MYSQL_ARGS="--no-defaults --socket=${mysql_socket} --user=root"108 MYSQL_ARGS="--no-defaults --socket=${mysql_socket} --user=root"
102 IB_BIN="innobackupex --defaults-file=$topdir/my.cnf"109 IB_BIN="innobackupex --defaults-file=$topdir/my.cnf --user=root"
103 XB_BIN=xtrabackup110 XB_BIN=xtrabackup
104 cd -111 cd -
105 ;;112 ;;
@@ -116,7 +123,7 @@
116 MYSQL_BASEDIR=$topdir/mysql-$version123 MYSQL_BASEDIR=$topdir/mysql-$version
117 MYSQLD_ARGS="--no-defaults --basedir=${MYSQL_BASEDIR} --socket=${mysql_socket} --datadir=$mysql_datadir"124 MYSQLD_ARGS="--no-defaults --basedir=${MYSQL_BASEDIR} --socket=${mysql_socket} --datadir=$mysql_datadir"
118 MYSQL_ARGS="--no-defaults --socket=${mysql_socket} --user=root"125 MYSQL_ARGS="--no-defaults --socket=${mysql_socket} --user=root"
119 IB_BIN="innobackupex --defaults-file=$topdir/my.cnf"126 IB_BIN="innobackupex --defaults-file=$topdir/my.cnf --user=root"
120 XB_BIN=xtrabackup_55127 XB_BIN=xtrabackup_55
121 cd -128 cd -
122 ;;129 ;;
@@ -136,7 +143,7 @@
136 set +u143 set +u
137 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$topdir/Percona-Server-$version/lib/mysql144 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$topdir/Percona-Server-$version/lib/mysql
138 set -u145 set -u
139 IB_BIN="innobackupex --defaults-file=$topdir/my.cnf"146 IB_BIN="innobackupex --defaults-file=$topdir/my.cnf --user=root"
140 XB_BIN=xtrabackup147 XB_BIN=xtrabackup
141148
142 cd -149 cd -
143150
=== modified file 'test/t/bug606981.sh'
--- test/t/bug606981.sh 2011-02-24 05:43:22 +0000
+++ test/t/bug606981.sh 2011-05-25 15:05:40 +0000
@@ -29,7 +29,7 @@
29vlog "Applying log"29vlog "Applying log"
30backup_dir=$topdir/backup30backup_dir=$topdir/backup
31cd $backup_dir31cd $backup_dir
32tar -ixvf out.tar32$TAR -ixvf out.tar
33cd - >/dev/null 2>&1 33cd - >/dev/null 2>&1
34run_cmd innobackupex --apply-log --defaults-file=$topdir/my.cnf $backup_dir34run_cmd innobackupex --apply-log --defaults-file=$topdir/my.cnf $backup_dir
35vlog "Restoring MySQL datadir"35vlog "Restoring MySQL datadir"
3636
=== modified file 'test/t/bug723318.sh'
--- test/t/bug723318.sh 2011-04-17 23:40:32 +0000
+++ test/t/bug723318.sh 2011-05-25 15:05:40 +0000
@@ -12,7 +12,7 @@
1212
13stop_mysqld13stop_mysqld
14cd $topdir/backup/stream/14cd $topdir/backup/stream/
15tar -ixvf out.tar15$TAR -ixvf out.tar
1616
17if [ -f $topdir/backup/stream/xtrabackup_binary ]17if [ -f $topdir/backup/stream/xtrabackup_binary ]
18then18then
1919
=== added file 'test/t/tar4ibd_symlink.sh'
--- test/t/tar4ibd_symlink.sh 1970-01-01 00:00:00 +0000
+++ test/t/tar4ibd_symlink.sh 2011-05-25 15:05:40 +0000
@@ -0,0 +1,55 @@
1########################################################################
2# Tests for tar4ibd + symlinks (bug #387587)
3########################################################################
4
5. inc/common.sh
6
7init
8run_mysqld --innodb_file_per_table
9load_dbase_schema sakila
10load_dbase_data sakila
11
12# Copy some .ibd files to a temporary location and replace them with symlinks
13
14mv $topdir/mysql/sakila/actor.ibd $topdir
15ln -s $topdir/actor.ibd $topdir/mysql/sakila
16
17mv $topdir/mysql/sakila/customer.ibd $topdir
18ln -s $topdir/customer.ibd $topdir/customer_link.ibd
19ln -s $topdir/customer_link.ibd $topdir/mysql/sakila/customer.ibd
20
21# Take backup
22mkdir -p $topdir/backup
23run_cmd ${IB_BIN} --socket=$mysql_socket --stream=tar $topdir/backup > $topdir/backup/out.tar 2> $OUTFILE
24
25stop_mysqld
26
27# Remove datadir
28rm -r $mysql_datadir
29
30# Remove the temporary files referenced by symlinks
31rm -f $topdir/actor.ibd
32rm -f $topdir/customer.ibd
33rm -f $topdir/customer_link.ibd
34
35# Restore sakila
36vlog "Applying log"
37backup_dir=$topdir/backup
38cd $backup_dir
39$TAR -ixvf out.tar
40cd - >/dev/null 2>&1
41
42run_cmd ${IB_BIN} --apply-log $backup_dir >> $OUTFILE 2>&1
43
44vlog "Restoring MySQL datadir"
45mkdir -p $mysql_datadir
46
47run_cmd ${IB_BIN} --copy-back $backup_dir >> $OUTFILE 2>&1
48
49run_mysqld
50
51# Check sakila
52run_cmd ${MYSQL} ${MYSQL_ARGS} -e "SELECT COUNT(*) FROM actor" sakila
53run_cmd ${MYSQL} ${MYSQL_ARGS} -e "SELECT COUNT(*) FROM customer" sakila
54stop_mysqld
55clean
056
=== modified file 'test/t/xb_stream.sh'
--- test/t/xb_stream.sh 2011-04-15 18:38:43 +0000
+++ test/t/xb_stream.sh 2011-05-25 15:05:40 +0000
@@ -16,7 +16,7 @@
16vlog "Applying log"16vlog "Applying log"
17backup_dir=$topdir/backup17backup_dir=$topdir/backup
18cd $backup_dir18cd $backup_dir
19tar -ixvf out.tar19$TAR -ixvf out.tar
20cd - >/dev/null 2>&1 20cd - >/dev/null 2>&1
21echo "###########" >> $OUTFILE21echo "###########" >> $OUTFILE
22echo "# PREPARE #" >> $OUTFILE22echo "# PREPARE #" >> $OUTFILE

Subscribers

People subscribed via source and target branches