Re: [PATCH v2 2/2] btrfs-progs: convert-tests: Add test case for backup superblock migration

2016-06-06 Thread David Sterba
On Fri, Jun 03, 2016 at 10:34:26AM +0800, Qu Wenruo wrote:
> New convert introduced simpler chunk/extent allocation algorithm, at the
> cost of complex backup superblock migration codes.
> 
> Use specially built ext2 images to test if btrfs-convert can convert and
> rollback images without problem.
> 
> All these special ext2 image have blocks/holes across 2nd btrfs backup
> superblock.
> 
> The naming of test image is like the following:
>   |<--superblock migration range->|
>   64M 64M + 64K
> |-Data--|-Data--|/Hole//|-Data--|/Hole//|-Data--|--Data--| = drdhdhdrd
> 
> These test cases should check all typical layouts and make sure new
> convert works.
> 
> Signed-off-by: Qu Wenruo 

Applied, thanks.

> + extracted=$(extract_image "$src")
> + run_check $SUDO_HELPER e2fsck -n -f $extracted
> + run_check $SUDO_HELPER $TOP/btrfs-convert $extracted
> + run_check $SUDO_HELPER $TOP/btrfs check $extracted
> + run_check $SUDO_HELPER $TOP/btrfs-show-super $extracted
> +
> + run_check $SUDO_HELPER mount -o loop $extracted $TEST_MNT
> + run_check $SUDO_HELPER e2fsck -n -f $TEST_MNT/ext2_saved/image
> + run_check $SUDO_HELPER umount $TEST_MNT
> +
> + run_check $SUDO_HELPER $TOP/btrfs check $extracted
> + run_check $SUDO_HELPER $TOP/btrfs-convert -r $extracted
> + run_check $SUDO_HELPER e2fsck -n -f $extracted

Most of the SUDO_HELPER calls are not necessary, and the tests failed
when run under user (on NFS where root cannot do everything), so I did
some additional changes. The separate convert dir should be now ready
for adding more images easily.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 2/2] btrfs-progs: convert-tests: Add test case for backup superblock migration

2016-06-02 Thread Qu Wenruo
New convert introduced simpler chunk/extent allocation algorithm, at the
cost of complex backup superblock migration codes.

Use specially built ext2 images to test if btrfs-convert can convert and
rollback images without problem.

All these special ext2 image have blocks/holes across 2nd btrfs backup
superblock.

The naming of test image is like the following:
|<--superblock migration range->|
64M 64M + 64K
|-Data--|-Data--|/Hole//|-Data--|/Hole//|-Data--|--Data--| = drdhdhdrd

These test cases should check all typical layouts and make sure new
convert works.

Signed-off-by: Qu Wenruo 
---
v2:
  Split infrastructure with test case
---
 .../drdhdhdrd.e2image.raw.xz   | Bin 0 -> 84564 bytes
 .../drdhdhrh.e2image.raw.xz| Bin 0 -> 84568 bytes
 .../hrhdhdrd.e2image.raw.xz| Bin 0 -> 84556 bytes
 .../hrhdhrh.e2image.raw.xz | Bin 0 -> 84568 bytes
 .../001-ext2-backup-superblock-ranges/test.sh  |  37 +
 5 files changed, 37 insertions(+)
 create mode 100644 
tests/convert-tests/001-ext2-backup-superblock-ranges/drdhdhdrd.e2image.raw.xz
 create mode 100644 
tests/convert-tests/001-ext2-backup-superblock-ranges/drdhdhrh.e2image.raw.xz
 create mode 100644 
tests/convert-tests/001-ext2-backup-superblock-ranges/hrhdhdrd.e2image.raw.xz
 create mode 100644 
tests/convert-tests/001-ext2-backup-superblock-ranges/hrhdhrh.e2image.raw.xz
 create mode 100755 
tests/convert-tests/001-ext2-backup-superblock-ranges/test.sh

diff --git 
a/tests/convert-tests/001-ext2-backup-superblock-ranges/drdhdhdrd.e2image.raw.xz
 
b/tests/convert-tests/001-ext2-backup-superblock-ranges/drdhdhdrd.e2image.raw.xz
new file mode 100644
index 
..73e2309c4bd6991424962c3bc53ad74171b52268
GIT binary patch
literal 84564
zcmeI5Wl-Num!@%d2?Up*!QCB#Yj6$jZo%Dxy9Nsy2*EA5LvSa!y95mqc4~HZYj$R~
zYM!b0d1a>g`u{*x*ZK8*Uw5BA{lx91r2_#0vpZKO1qDG4`2qq0!j*Za@c9`NI!GS^
z!r|%pxv(*iYo}y{rZCtwY41pNlwS25G93dg72>DIxtVmL7Zb7nHa%GMLXU^_3Yht#jkpjt)BvXvgJxYSBMy^-6n{
zWPiwy!COQ!?x0)@9(uJiZJ@d6@2o|Jbv^nUkC=p%1S`a6H#RKvqG`8EGLF?5pzY!b
zS-l^Xuly-gcms#+l!_MLB4TV9tkp-~%mp*6UIU*xJG3N`CpdYc@lt7x>KbKiX#y?w
zuKNjjKaH;Ls%q3S=R;2DBCN#V3!CTsi@LgpoNj6{l9#^QWl9iv={)eqEBAZ|akTUs
zpHPGNXPoy8_jyIy@rW;@(5k9Q2H*KH47XISlQXJuy99L2Q*}eAltRI+k{h%pYo1
zlevLkkErD%ql{xOy>DW)9}D;j^UZJTms8knqPo#({wz#>
z>B)Z2g_}@kt=^j$xf&**nAhl%j9Dc)mYK2Wz
zj+L_oISB*Cs33d$D{gax`dRqBwyxecTEyLLy!G+>*i_#yso%6m#qGS;kayV3Q3GX>
z5eT?OnNqO}ACmVUA(*_dw_y^3Sheg*Tzj$gx+YD>BszY`#03tuD2gDan)LrDe(5z6
zKxEExFJ^wxOCh>rOr6S0ga#|U$@nEiuz}<32)hS?Er=UR%~VWFpypg|lJqSj5t{xG
z<`Pust1V+_jummy_m>`T>CNU(V~T@uR)|IBD>?dcvE`@N^jNL1=w|8`55q=FU
zRX#qbzIGiY(Ipf6wW20?M`w!2A2331yH?MC-rL4xSdK0vXD$|xjrNR@bm!!$eTO{y
zoI)#wUiRp-`jE-Oq|q4{dKnzpY1T`nc6Xh?#R^;W_0*xuQQ-~BWCCV+r4ezFjNTEMD*FC+U7;f(HWY1Ul}ylb$7{
zOEqDhnnMC>xKdP=x9jL-lH+?m@y%RNXs*v;jP(MfeZ+ZByY^b-n7u(-ywebia-1
zahXX5`tO>I+{#&2a%53b$l1LoZw$Kf!z)(45Yiz8($gtdo$AJH&|1Urjj}ZMQzx1?
z(O-V8K&
zp_m?21m%vM(80(kS#`uYoG6OwN^RO#OD|vC(vu^75#6#i98R6KTa)rQe{HZnHBj(E
z3H>+B2e>v?evbO0i=Ep>DViV_E-e}qN(^YrjzX6kLv6uK
zB|O~JvQ+LXnKy|u^&8Zluh#wMceviKV!^U2CvzEfM!2J%`nkTc48f*VHnuHYi2My}
zDb8{^WDzvf_o%kZ%0g-1Dl63FY6=+i*S~Y(Fy7MW?f1%leAN9pf_UUf)zQB}LO9ZX
z|7wMC$}XauP{nIxCA7Q+wvimmb;IK|eEOJ11$bLwB#=F309v?VRgMC
z;Q4Z2FmDfAr;2*iw#AT)luUe>QpbiCy5>1tlJ2W@9ULq0}L-*h?=fiwby|~^r
zVx2BRkyUEWc^cJnOt4GhNo;?gqEE8PxOdUkVY#A*mPwhhx34@Ll(6uq8s0k%!4
zjfKmgi2WI(R*c*u!E7=aD-HT5?r1yl6V9x`llwEtF?zf}?9?W|B!b=xjDaGWZw7Ca
z9D{V6V=roN@5FoY?g}SycLYP+wO}!qk!nymrEiDdd_
zFKrY8ET>3u0{vW{=++s-B04AO(<*eou4xK~b#yYuKNGb`);~Cg{$7CQ4iQ@$%#z-3
zjtbg%+GvfBv1lAFTgH`X4qjo4b~MUeHma0O%XKp+H{He8GcFDHM7^h0zKdbwM0OQO
z9*MVUpbXF!?3t1f;%(MfhOAFt#b7xzAZd61B7^Ej!QAl=3WGH;L|%=g}57#d#;#
zF0*M9bJu`2PU2I$o;gKEedDxey=V6ZlVc*3A
zsVwa4C|mL-@8#*Lgl|!Td`=xz=LXz3P1o~B{pn7O^zTYf8JT$78YlqmqSFpHIt#c3K5b@?N!Z_cAHV77R$lWSowBAa9nubu%0{C
zJ8uR01yhD0Y_FGMF@e3E|O$5}^zd;9^q360V=1wMYp3*QxLUKKBNf?L
z9IGXln)antICl;1*QDR|SlU?Kvzj0iUDM$l6(9Uza*D}A^(s`F>wxF8{WhO-HsN!`QClHr1jlS}C{Pq)DBsVYOqoY{)fDN<1pD!~9VfR%GcF3nC_(+2^Pj
zcmvI$mo^$Yxz1VmocEoI+nFc+Ow1zmosy;))1=VmMck}wuL(VraO#yQZH5E)+>yAf
zu_2$OygWia*o##hmlvgUNfJXzHPTcVx-|i$<%+f~F!vqoP)FH~r
z_>29sY?ol&7T@lmLmj!yN+x?mtb+XVo%qsTL-SyoOVsb;cZPv9?_R*mz+`$uQM#rl7m{R1S9c}x
z)$GgFzp
zICR!(``G*u^K*RK@(75-`1_O97d78>T%GhuF^_(=lxA-37|v6M4VshRbkbWRods?x