DELTA 318812 0 201 SVN!k@j>^0|:;Z )-oQv XR~)Ua}[K\;G6x^uR]k0}n}T"nuȺ,m/!MMǠ/`{^OiYNj9:9 {.6dHǰ"4/2n]=xkC` Z+VrO!涒 ׄG ƥ1x6q۶V*HqcU   v..\UMrPc?܈8"p &=ɮ' unc*,bx϶ |aڶ ebp2h޾/ /%ys/abextern boolean_t zfs_abd_scatterG(&g%8(Ahi hynYe if (i != 0 || ztest_random(2) != 0) { error = dmu_read(osabd_t *abdabd = abd_alloc_linear(psize, B_TRUE); ztest_pattern_set(abd_to_buf(abd), psize, ~pattern); (void) zio_wait(zio_rewrite(NULL, spa, 0, &blk, abdabd_free(abd /* * Periodically change the zfs_abd_scatter_enabled setting. */ if (ztest_random(10) == 0) zfs_abd_scatterENDREP DELTA 318831 0 92 SVN(['||QvUKHE`oY(void) (void) fletcher_4_incremental_native( &drr->drr_u.drr_checksum.drr_checksum,(void) (void) fletcher_4_incremental_byteswap(buf, ilen, zc); else (void) (void) fletcher_4_incremental_byteswap(&drr, t%2t1 CL_GATHER_MOUNT_ALWAYS, 0); zfs_close(zhp)ENDREP DELTA 168404 361922 1016 SVNq/ ..tH!xge3a1UHP!>x^SM0=ETe[=pXX,+mnrIdQz6n=qG&W5[ޮl}^G'&z*mNnj9>chvњ= X_VOI?^;ᆕ=zFU!<ڃip/m8~g>hˠr{~@8 !}oeebIFCA6aG]LR Ún2m4Ad*ўA"Ztڦ,ao(Jb~>}ܝ]~8\ Y$O?2Mzj)ZxlvEmrA# y*(O#mJ-ȼg}-x=P7/hMAKzx3eE G.goHTZ 06 Ғha_ENDREP DELTA 318946 2986 6835 SVNs!ltk_#ifdef illumos#else abd_chunk_cache = kmem_cache_create("abd_chunk", zfs_abd_chunk_size, 0, NULL, NULL, NULL, NULL, 0, KMC_NOTOUCH | KMC_NODEBUG); #endifENDREP DELTA 319748 0 570 SVN^Z\[|_Fv#' @b qoQd+9- aVx:o6)M(R\ q@> E!y  ?JcD1#y= &a# 2ZL<*>jo,08:]0r%v"n:5,Ws#NfWY`}_`h-ziquT*^|x^UmO0CBlVnecvrZve;DeI2R5=wO2>3^dPH??03:m&2|FR"M؂n R{B( W7Vn +.Ó',L)KLJ-1aLw.wgg,U噀nRI矚0Vj(:ћ:ɦ^CQtȑO :yeZ0[!LtQJvʸW"5kpAP6QX@\4ß+eó S-zp}88K1%අ^ET>z%&L4 萀j"SX@ 4ZKB 7\B:d@N;6֩eEyc+ȧxԩ.?<㖐ѣ@2\ꃷ24)ϝ" 6`OpxF; U h᳴GH>p8j(FݣJ \ DʐA2L>Y8F)K6$qQ2(A; U(-Y 8R;1JpӋ] ZAl8ػܰ ys9Bm8:ؚ|r{BZZmG֌ofF@vRj{am9Uũ5硞e:>dicwQH3䂙J6r4u}ξxmWZ{^Yװ.Ύ$EznM4?ƛRSZ?ߌ[EĆTruZ^rߪ ? q84{2w48T[dj^ @5W-T>e_ttx o>>Qof/Lzf1[% fPYp=JIuABs^Wd[t5D>vA1;jpU]H{] \Ol?kmJx^XKs6>bsEWqӋkж{"7KN'` PS$ȉ{w (Y~jK@xL<ΓRL4<؃bx5:F~ЉF{vr)ۉ߆4p"co"RJUA ZarMY7ptO zPTV ڹsBvȬ cNS9p2FixROcar7L*B8DY4VxOM/RUNSAiHEe!7IlKg8͓yt'c2v7.DdN(7U纂NS=3Rg4JěTy uH#!Q xm]rmThEe ,YWA$U =Z𶅖Wrp6Y ΌЕUe}z Wn_IR%]| CtqU]64\V.T"8^zh5D<-![\ 6MnW'y%+?5 ($%]M&W" Z ?ՙSIA@gRM5rm:/УЊ{7I'BIjup9:=qt#mLXt)[խ#1.ށJ+nt'՝Fo:g9PR^=/{;-$2Vv> #at }Als_/V#`6'=G,̕gA4Ia S<ȏTt3$\`\/ =ieS٬z&׫_\vIGҝgI½Iԍ`FtG7I~hӬ8CHQ he{I)}ɛ2άa=ˁ)lY @Xׯ9"x``&QLQPc^rݟ{: #žHM["a:ѓlL-o`O^ŒMxG4`pQ?4^}lGD S?t~=棃-ef,]Dx#uJ( Ãك(RWAXU+0dM+X avȶyrs>d{p/Ս*{(ɉT9,:E*#GJQ?] XTC( E(-0@_r(fpۑyNqPB؟Y`-%GKƹ (eBPgLRv& QaM5}$kPKcW[Πg/X9ܐ@PVa'5#?(n9mgmzD=6+dcaPHܱY;oBluorCʂn6+9_֮tU0do&NrmB _^G#O~P|:=uەps7l"z/T^o)l;;/_V-hKQF6/LX;ڡ[nX~n64sVYzV:D=˦˲$m~ս0&|ocnwEmkȇbeN@ {-(.{݂6Lo3[PA%P/1m.M^>a/ΌD=oran4E %۽$62 Mp[=ۭlb^gMLj]I]5DQϧv\e,x;9KܠqnM u},,xu6e^HDHyh5dz;:d\qz_>Nq6%pQ]r7 u03YNlU"T?n6c@50U@!t@dU"gTi8ΠtESiYfdD^^0$Cb[X* U|x׽+Fc+ > é97X~3r6蹞AymtlXvAc< EVڸ>)X-lHԫ .2)'dhWڄ*K&i9mf&W\\ϱBBM]eL7-qpWiz}nNႊ>P66#h jKcCM9ևrcY _\YbqQyQ8ӽzT?Y:$yFpgi ${Ix?q7CmfR~H!ϡYjvӧC]㕚+~-;5p zEN{-lRtKnψNp)|a%I 0Jq7od2N^%/SHOӆlHZًװdOܠe 9= &OjU 6ӗ[C8ENDREP DELTA 319750 0 404 SVN?/+Qmh[ =#include io_abd != NULL) abd_put(zio->io_abdabd_t *contents = (data != NULL) ? abd_get_from_buf(data->b_data, arc_buf_size(data))SGutStio, os->os_spa, txg, &dr->dr_bp_copy, NULL, db->db.db_size, db->db.db_size, &zp, dbuf_write_nofill_readyENDREP DELTA 289422 1529 66 SVNhQ%D$"O# nMiS(@C6#include dde_repair_abdabdabdENDREP DELTA 319748 791 12673 SVN=+('}_SG# 2nclude io_abd);abd_get_from_buf(zgd->zgd_db->db_data, zgd->zgd_db->db_size), zgd->zgd_db->db_size, zgd->zgd_db->db_size, zp, dmu_sync_late_arrival_ready, NULL, NULL, dmu_sync_late_arrival_done, dsa, ZIO_PRIORITY_SYNC_WRITE,abd_init(); abdENDREP DELTA 317414 38236 2215 SVNW0u/a@a}!#=A~Qy^t(void) (void) (void) (void) (void) (void) fletcher_4_incremental_byteswap(buf, len, &ra->cksum); } else { (void) ENDREP DELTA 319949 0 31 SVN (S'LM`@'U^be6Q2016 Gary Mills * Copyright (c) 2011, 2016 by Delphix. All rights reserved.nclude io_abd abd_alloc_for_io(size, B_FALSE), size, dsl_scan_scrub_done, NULL, ZIO_PRIORITY_SCRUB,ENDREP DELTA 317414 41066 27 SVNX : rkm9/* * Copyright (c) 2016 by Delphix. All rights reserved.ENDREP DELTA 301010 1802 223 SVN?T0O/YS@`|IibEnu,WwSlfx^j0S mL@r!rnZ$q$#8^))MKis/j! "àAJ͙Ң +׺.ϋ yØ#NJĜ(eWQcTI^Spj:a'O/5A NL Q[jz>x;FƟPn2~=nI-{ bU?. y#!ټ"TK?p¹g P(aV"W207V :@7cCo#tW ?کhBr IաOyyKּAENDREP DELTA 301010 2053 100 SVNWI948pX."rX,qn=+.ZxBUA%x^}Pj0<[_P(y撶P{M–7#k) i.ΎfETf:h<ef;cu^Oq8Iًb2%6hbT[0)IuW@| /5=1(ԴgLxIgвLcB1~FVHueqPo\U2ږ9340|xۂqcDzuվ aԪIɣ?Hg+!tqyA/(хut !;aP=#tyL_g]u |ENDREP DELTA 318932 11032 5628 SVN.|-IGbBY^@F6J{#include io_abd);!BP_IS_METADATA(bp)abd_alloc_for_io(size, B_FALSE) VERIFY(nvlist_alloc(&spa->spa_spa5"ENDREP DELTA 318946 31191 1214 SVN*q`TLEly1_fdef illumos #include #else #include #endif ? B_TRUE : B_FALSEENDREP DELTA 253405 8279 360 SVN\$D `pNN*2C Copyright (c) 2016 by Delphixstruct abd;struct abd *dde_repair_abdENDREP DELTA 319949 59 26 SVN|y-OD!+i~IS_METADATA(bp) \ (BP_GET_LEVEL(bp) > 0 || DMU_OT_IS_METADATA(BP_GET_TYPE(bp)) \ (BP_IS_METADATA(bp) ? BP_IS_METADATA(bp) ? ENDREP DELTA 305331 6644 310 SVN&N1L struct abdstruct abd *ve_abdENDREP DELTA 286547 1175 4806 SVNP;QO`aan;cG4HHI9ax YXv=FX~Fdc.TG)B}Cft/R%!s ICuU@xPxxtJ5h B_9~Tnb!x^U[o6~~j;pZLĈf}!(Т&QNa}dXΝ>µL6)_,0rE3Rezu> #~ǣ8d1*shmg.Irr2uϺ=Ƕw}7}Lю_.Dَ7&G7Wl8>C./{zXGX噂ASD2֛ gd|YfdP~6\B/>XLwoܙu;n;Vpwxsmk[UX契ܸЯj6`ǃ VFvVM<a/Z=-Oј(Ќ הe*}c[c|\1"egƔ }ޟ8p<=߲ޟaWL9AXREyO1SEoj0MȺ8CbHs:8ˌ?Rڅeu xB9iZzELme:ZǸ-ϗ\)a:Z'Z pnR%BDG%) p02U|Ŋ_9YH St`&h`ӵ ! {s~+VB}%`q2 Lc O@ ˝ceRHNsQp@th'\k\/ƺL gDŽ1Sb2n-{H8Yn2-coƪ/k_nujk$OVXT!MA~bbi t ϶o51o5zKU@<&*`P6u1Lܖu_LU:e՜ cޜ0Xkz(MdGyO+~!bU>ש=2Q :u]-Zel<[3?mw(ȣIYqiJųF //%Y10S,,ff7涑q6 R)󪖠8G /D ˺E.ȃB{uJ/ZENDREP DELTA 305323 41332 242 SVN"!!q"a*kJE_ b76x^MN0>HlJh6]uĚFIє* ^X}oX1eQj(H W[pyްjBD[19ETF;G5|?B͋٦R]FoO08VZ&!=cx/<7Hv 0htY[M<|(_G@e {Cfxjع0d{2< ? ?§V$U r`*{5" VM~< /wENDREP DELTA 317414 42896 262 SVN(+o*tbt\Rvo XYhZ}+m, 2016nclude /* * Common signature for all zio decompress functions using an ABD as input. * This is helpful if you have both compressed ARC and scatter ABDs enabled, * but is not a requirement for all compression algorithms. */ typedef int zio_decompress_abd_func_t(abd_tchar *ci_name; int ci_level; zio_compress_func_t *ci_compress; zio_decompress_func_t *ci_decompress;abd_tabd_t *src, void *dst, size_t s_len, size_t d_len); extern int zio_decompress_data_bufENDREP DELTA 318943 0 74 SVN'j&m[yvlF)viabdabdabd_free(zio->io_abdabd_free(zio->io_abd VDEV_PAD_SIZE, abd_alloc_for_io(VDEV_PAD_SIZE, B_TRUENDREP DELTA 168404 678062 3691 SVN`[,G&@!Iw+ %%.wl'st7S3$ Bt=[w~*uNa\- L?[\ntXOmsWx^}W]s}_l/$Uxox@R jFd{N$gzOw/4Trn<'Q7)UOSk(F F2d_2d5* NLeYF/N6|O4YROƋzqqJNjW[f!^}5_į^~}83V-&ag`vh!;'e*EhH% X̝SX?ː]tvzLlH'̥JXXI(SL" O)Y3I"Ebœ$9U:d*`E: tBb3dk* kNBR 38=mf,q]$Loԋ$vгB&fraa$KohAo_\ v EPOC l& AʡJ)eG]J#0@(8^Tse-x:%ѳP12 ԅ1z,l4Vҟʹ΋\YeO:gVW&07/2PP"N0ιNrFyeY۪+]Rszh4S=%}uXnu,E#]c?G_nnod%;'Kop?o7޲U);zfՎ1q~TmgT+*>lios8Lp&֤sUkk:E!:U15.7&ή[=f6海 ^ͷaF]FS`7bѵuh,2V(k*yXJ~-Uio_type == ZIO_TYPE_READ) { abd_return_buf_copy(zio->io_abd, bp->b_un.b_addr, zio->io_size); } else { abd_return_buf(zio->io_abd, bp->b_un.b_addr, zio->io_size); } if (zio->io_type == ZIO_TYPE_READ) { bp->b_un.b_addr = abd_borrow_buf(zio->io_abd, zio->io_size); } else { bp->b_un.b_addr = abd_borrow_buf_copy(zio->io_abd, zio->io_size); } ENDREP DELTA 168404 685038 2081 SVN%xG*FDArvF[CH 2FB@ ,3VO4x^WmsF~f<ょ67( b PIvdz:dݓapݴar{G3h c1? rHW< Œ\<p4[i943mVq6On$!_Uލ(~B:JHcy!"WLF|%(R2Zd4z[gax(}VdË70sS$%U3f`?Rh~ qz+?f~>ڱ1_zɵ1a{lc|ʮ>ECMV(rZFQD+I5en6EX_o"( >A>&v¿\`F"%۝ˠyW֭_r,4m*P` ćnM JvՆYVEC˚`|lC+}yN]lآ? qkHՒMMfo?+vENDREP DELTA 318189 0 975 SVN\EGS*3 Ox^Q 0}޾>&B>"D [ ̉NBo+I 9瞝3U' IT[2<8;ւ;F(jІT Ә t|/Yz\OC_FXr^3C4gY]F6e kl4À2L@ʪi}Y_^5-egENDREP DELTA 308089 5646 420 SVN90#6zVND^X(#WuH.׳-8ITNͧ'mC%"tS-Aw'Ԉv/b @66kvm!p44!NU(toq12&=abdabd_copy(pio->io_abd, zio->io_abd, pio->io_size); mutex_exit(&pio->io_lock); } mutex_exit(&zio->io_lock); } abd_free(zio->io_abdabd_alloc_sametype(zio->io_abd, abdabdabdENDREP DELTA 320153 52 7775 SVN1,%1$G~C~.ULFDTDm/#include io_abd, aio->io_abd, 0, pio->io_offset - aio->io_offset, pio->io_size); } } abd_free(aio->io_abdabd_alloc_for_io(size, B_TRUE), size, first->io_type, zio->io_priority,abd_zero_off(aio->io_abd, dio->io_offset - aio->io_offset, dio->io_size); } else if (dio->io_type == ZIO_TYPE_WRITE) { abd_copy_off(aio->io_abd, dio->io_abd, dio->io_offset - aio->io_offset, 0,ENDREP DELTA 296519 8575 69 SVN:,*"#d%v84bNDd$7nmc#xGw@ %*Sz+! J9['\ySr!Z=_+q(2l^_$2ZPaSwnXuNF?V^'^ VyW5'IRCc9aQjHz@IlMv&o O)a|a[fEVRQ74Ducks?b%vx^ZmSH,6f\v7uAv M[HfeRF4闧_g4{ 7S/؅Ώ=qJA_L7|/CKO癵`.]hts+ S'O:{"~98={{ӷ}A84pAtuǐ3g9'^.? #ǻMIA )$Db_MbU԰+XloI׮jL {|H7^E9r4#őr1Ka}i<(:F91yj) o #,Սo Ff-M; z [ĕ``^2Wܓ&*6\~\65RRX(6Vi4Rm@E쫴7E`j1zqqܑSVjc3 qrO_ZgW>'@27,D޸OYD 4bݷx%TI}XmiDfpk1ĸ Nf| qTĸwҦ>`svܺҭbj>Q8.}Ie{,[/ =䩸 Q JRAə]kF3&D8a[?Hyc/5xIy) 9#B#]X_G5O?Q*rwY&/%0HEK??Gb ({u|~^ɈgoV-ƸЋ{OoWjhG0wbƍ}ŲtfUM\Ԕ,=Y`-곾ljQ*Ѵ)Weg=i1ۢ4&} ^<`-L" Zx#XCnqnn#@$te՜g|KxlhAn$WX)67洵č j\p0$XzyZUR勲U^fd 0+ 9>PRd|5&nc\RKq ztOBqy,~=mrC8&}ˆz0Ry9KыjSڸXpp&yQmfvV/EH4x=Go%HL-~+7Yzٜ͟Y۟bz[7 )WY9,E#fl.[ N[1m-nzT۰&],y^4EdhmsºU5w؂yBհ| "qޣ(2J%hac.NR2+eYk kbRe:[tsUY-J WX ;>|(aoRr=UACQ 6AD2kQo#.GA,wl̹4BMd-%|2M3lj yϱ(&kWh]yk0-C_C4`g~$y:ch0^rw RBXP,:AibENDREP DELTA 275811 5914 13578 SVN$ !PpCu/ hh(_) \x^XksLkeL6I2ZTNi*r%2؅(*I{Ͻ T-a_yܻFK:|>Q'˨H'SgV:kK:1S[NO ciٿK8+MGd% 觳ѠyN"uli !^:.Nh)eO ҼH ,ŐN,E#sMÙY@nm WR=st(%>5VsXlO2cBӧ^߫.ؒf x=(/~'x}asp;8߯;[8m읪uM|EIsЦC: b(1]oNxlZ48db'D\77UmՐGu0{F]H/11,4Fi\WaN¨ըD[We_[K#c2A,q0bͿvRl8STcDs)`2g:N)&{te.,-""T`ѹ- j|KqYiMMRUf;E}A_YtaI.Rml|iY2$У"kI8k2i1M兆JR\, 3׫07qC`a}~֣LڴX 5BxO2GdcY)KZY $W:a(+jxu7f:Ol~ hMnDa1FȲ4׹$ SƦH4U,|*A(qn<3$jl?bxD.ɔUfKW`cn6pl. `yRP?'WA6ud].v?mfrb8ޢgGt҈g\pU7  ‘Ax A=%_ɕ ^c )fKxxc~geФ瞲Q5̂.q2p].,&i#mݵK,%wdyAU'8!~m٣7օsç}2nw<ޟt9^ѥɎlƑ3󧥙E<ױ6 $Pq3ZϵuMʣ@ZPxO}Z?Z\O{C 8P:^(͂|I܄)>%n,51+~P!unP K,VuoxW$4=(-3+\X#)Q1[ PRL۫5U6onKXf7sP#=#Ǿ-"~5׽ ~(1F;|p;nw6|tzgR,P]t>tf ENDREP DELTA 320153 7859 473 SVN)'qmtl0,]`nC[A5 zMh+|k+( FLT rcjYE.tPHC;@DNrAQ:t 7\Nt/l.rmp>TKq{gD@EJioMkiO^>z57.xJ Cyg3604-Y{%T$|mPYi1kY[zux^WoF~VRDj՗+H$qTr/8V`mK8hwf^pEݝof*o%#ݧbÇˮb]tH_fB#%KO*0e0b:b^l*)6ea~Ҥ'H bELT0l*h{='/u\:lF|a3;mNUP8GII6`%cCix$ _X쬶/~lK"eIXx?(TM / ^GOFbnAiE 16}:*}M汦4x`raf ad(۠E0r/A"yz3N橢5stU@6ȣ-̀oG;%5yT_->$3@Q+ aV:- )@#Kl}輥C\ =9^4=a2x|:ݍn/\QPbC\rH$m r\[AcʫXmM(tuknTwa_r"̥wnjv4| g?KYArcŘ+c1Iy;kϿ7Z߆:8B1OnEXޯ,ޝ$wwzߕVbqd_>Ib5Knt HzEYXu_D0O9B:Z>D#n p:5>DTXlfg/Ly͂c8(LIiv۪aŻip18xU*r.("{ȮE@<8{=Z HM.=~ǘ-:yʹ[ <1E]c^:-7"9xQ Ib {ԫxRb2"zCD-Ek<> SixR+ޅTP<GxUXA'Sr6"p~_ZĖ/7%7ENDREP DELTA 317238 0 200 SVN7RViH5^]2o2M5kg4\ _#_BR Pl^NsO BntrbZJ [ |mx^Vmo0 "n헩hj:EZUqLg`mRlL!{3dl//%7Y< - PnY,\xؚ:&8薳q]&Q ֌cMki\?Ńm2Y`pЧ괿ǓvLmJaDHKqǁ`U,fB 1%m$#1ASaK:!tIcDVߒ|%hv$G~ڷg~U?}~w X}9iGy`N@[GQ2^0m焖^MFoXY/ =ȟzCobe^_GGpAޚEM۟>I2z&ύb5 eq#QS6=]8NM/k&jгDxutH,' xjӔI:Lx]yv8< JnMZ#QF 逑 Ah\w|:۔mɵRqVZ׫ B;.XMyfCEΨ-h[{S`neΒ'pn(Hc 4e!46iU S;eٸW_l$R~C˲֯*e8LR))LtlE}lkX h;oENDREP DELTA 286547 6013 421 SVNAg=t<ak|~"oNjmK/[ , 2#x^Tn@}b'$JDHREJ 𒪲VZ/D;S