Re: [PATCH v2 2/2] btrfs-progs: convert-tests: Add test case for backup superblock migration
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 WenruoApplied, 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
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{xO y>DW)9}D;j^UZJTms8knqPo#({wz#> z>B)Z2g_}@kt=^j$xf&**nAhl%j9 Dc)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?e vbO0i=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!nymrE iDdd_ 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#;# zF 0*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