linux/fs/ntfs/lcnalloc.c
<<
>>
Prefs
   1/*
   2 * lcnalloc.c - Cluster (de)allocation code.  Part of the Linux-NTFS project.
   3 *
   4 * Copyright (c) 2004-2005 Anton Altaparmakov
   5 *
   6 * This program/include file is free software; you can redistribute it and/or
   7 * modify it under the terms of the GNU General Public License as published
   8 * by the Free Software Foundation; either version 2 of the License, or
   9 * (at your option) any later version.
  10 *
  11 * This program/include file is distributed in the hope that it will be
  12 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14 * GNU General Public License for more details.
  15 *
  16 * You should have received a copy of the GNU General Public License
  17 * along with this program (in the main directory of the Linux-NTFS
  18 * distribution in the file COPYING); if not, write to the Free Software
  19 * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  20 */
  21
  22#ifdef NTFS_RW
  23
  24#include <linux/pagemap.h>
  25
  26#include "lcnalloc.h"
  27#include "debug.h"
  28#include "bitmap.h"
  29#include "inode.h"
  30#include "volume.h"
  31#include "attrib.h"
  32#include "malloc.h"
  33#include "aops.h"
  34#include "ntfs.h"
  35
  36/**
  37 * ntfs_cluster_free_from_rl_nolock - free clusters from runlist
  38 * @vol:        mounted ntfs volume on which to free the clusters
  39 * @rl:         runlist describing the clusters to free
  40 *
  41 * Free all the clusters described by the runlist @rl on the volume @vol.  In
  42 * the case of an error being returned, at least some of the clusters were not
  43 * freed.
  44 *
  45 * Return 0 on success and -errno on error.
  46 *
  47 * Locking: - The volume lcn bitmap must be locked for writing on entry and is
  48 *            left locked on return.
  49 */
  50int ntfs_cluster_free_from_rl_nolock(ntfs_volume *vol,
  51                const runlist_element *rl)
  52{
  53        struct inode *lcnbmp_vi = vol->lcnbmp_ino;
  54        int ret = 0;
  55
  56        ntfs_debug("Entering.");
  57        if (!rl)
  58                return 0;
  59        for (; rl->length; rl++) {
  60                int err;
  61
  62                if (rl->lcn < 0)
  63                        continue;
  64                err = ntfs_bitmap_clear_run(lcnbmp_vi, rl->lcn, rl->length);
  65                if (unlikely(err && (!ret || ret == -ENOMEM) && ret != err))
  66                        ret = err;
  67        }
  68        ntfs_debug("Done.");
  69        return ret;
  70}
  71
  72/**
  73 * ntfs_cluster_alloc - allocate clusters on an ntfs volume
  74 * @vol:        mounted ntfs volume on which to allocate the clusters
  75 * @start_vcn:  vcn to use for the first allocated cluster
  76 * @count:      number of clusters to allocate
  77 * @start_lcn:  starting lcn at which to allocate the clusters (or -1 if none)
  78 * @zone:       zone from which to allocate the clusters
  79 * @is_extension:       if 'true', this is an attribute extension
  80 *
  81 * Allocate @count clusters preferably starting at cluster @start_lcn or at the
  82 * current allocator position if @start_lcn is -1, on the mounted ntfs volume
  83 * @vol. @zone is either DATA_ZONE for allocation of normal clusters or
  84 * MFT_ZONE for allocation of clusters for the master file table, i.e. the
  85 * $MFT/$DATA attribute.
  86 *
  87 * @start_vcn specifies the vcn of the first allocated cluster.  This makes
  88 * merging the resulting runlist with the old runlist easier.
  89 *
  90 * If @is_extension is 'true', the caller is allocating clusters to extend an
  91 * attribute and if it is 'false', the caller is allocating clusters to fill a
  92 * hole in an attribute.  Practically the difference is that if @is_extension
  93 * is 'true' the returned runlist will be terminated with LCN_ENOENT and if
  94 * @is_extension is 'false' the runlist will be terminated with
  95 * LCN_RL_NOT_MAPPED.
  96 *
  97 * You need to check the return value with IS_ERR().  If this is false, the
  98 * function was successful and the return value is a runlist describing the
  99 * allocated cluster(s).  If IS_ERR() is true, the function failed and
 100 * PTR_ERR() gives you the error code.
 101 *
 102 * Notes on the allocation algorithm
 103 * =================================
 104 *
 105 * There are two data zones.  First is the area between the end of the mft zone
 106 * and the end of the volume, and second is the area between the start of the
 107 * volume and the start of the mft zone.  On unmodified/standard NTFS 1.x
 108 * volumes, the second data zone does not exist due to the mft zone being
 109 * expanded to cover the start of the volume in order to reserve space for the
 110 * mft bitmap attribute.
 111 *
 112 * This is not the prettiest function but the complexity stems from the need of
 113 * implementing the mft vs data zoned approach and from the fact that we have
 114 * access to the lcn bitmap in portions of up to 8192 bytes at a time, so we
 115 * need to cope with crossing over boundaries of two buffers.  Further, the
 116 * fact that the allocator allows for caller supplied hints as to the location
 117 * of where allocation should begin and the fact that the allocator keeps track
 118 * of where in the data zones the next natural allocation should occur,
 119 * contribute to the complexity of the function.  But it should all be
 120 * worthwhile, because this allocator should: 1) be a full implementation of
 121 * the MFT zone approach used by Windows NT, 2) cause reduction in
 122 * fragmentation, and 3) be speedy in allocations (the code is not optimized
 123 * for speed, but the algorithm is, so further speed improvements are probably
 124 * possible).
 125 *
 126 * FIXME: We should be monitoring cluster allocation and increment the MFT zone
 127 * size dynamically but this is something for the future.  We will just cause
 128 * heavier fragmentation by not doing it and I am not even sure Windows would
 129 * grow the MFT zone dynamically, so it might even be correct not to do this.
 130 * The overhead in doing dynamic MFT zone expansion would be very large and
 131 * unlikely worth the effort. (AIA)
 132 *
 133 * TODO: I have added in double the required zone position pointer wrap around
 134 * logic which can be optimized to having only one of the two logic sets.
 135 * However, having the double logic will work fine, but if we have only one of
 136 * the sets and we get it wrong somewhere, then we get into trouble, so
 137 * removing the duplicate logic requires _very_ careful consideration of _all_
 138 * possible code paths.  So at least for now, I am leaving the double logic -
 139 * better safe than sorry... (AIA)
 140 *
 141 * Locking: - The volume lcn bitmap must be unlocked on entry and is unlocked
 142 *            on return.
 143 *          - This function takes the volume lcn bitmap lock for writing and
 144 *            modifies the bitmap contents.
 145 */
 146runlist_element *ntfs_cluster_alloc(ntfs_volume *vol, const VCN start_vcn,
 147                const s64 count, const LCN start_lcn,
 148                const NTFS_CLUSTER_ALLOCATION_ZONES zone,
 149                const bool is_extension)
 150{
 151        LCN zone_start, zone_end, bmp_pos, bmp_initial_pos, last_read_pos, lcn;
 152        LCN prev_lcn = 0, prev_run_len = 0, mft_zone_size;
 153        s64 clusters;
 154        loff_t i_size;
 155        struct inode *lcnbmp_vi;
 156        runlist_element *rl = NULL;
 157        struct address_space *mapping;
 158        struct page *page = NULL;
 159        u8 *buf, *byte;
 160        int err = 0, rlpos, rlsize, buf_size;
 161        u8 pass, done_zones, search_zone, need_writeback = 0, bit;
 162
 163        ntfs_debug("Entering for start_vcn 0x%llx, count 0x%llx, start_lcn "
 164                        "0x%llx, zone %s_ZONE.", (unsigned long long)start_vcn,
 165                        (unsigned long long)count,
 166                        (unsigned long long)start_lcn,
 167                        zone == MFT_ZONE ? "MFT" : "DATA");
 168        BUG_ON(!vol);
 169        lcnbmp_vi = vol->lcnbmp_ino;
 170        BUG_ON(!lcnbmp_vi);
 171        BUG_ON(start_vcn < 0);
 172        BUG_ON(count < 0);
 173        BUG_ON(start_lcn < -1);
 174        BUG_ON(zone < FIRST_ZONE);
 175        BUG_ON(zone > LAST_ZONE);
 176
 177        /* Return NULL if @count is zero. */
 178        if (!count)
 179                return NULL;
 180        /* Take the lcnbmp lock for writing. */
 181        down_write(&vol->lcnbmp_lock);
 182        /*
 183         * If no specific @start_lcn was requested, use the current data zone
 184         * position, otherwise use the requested @start_lcn but make sure it
 185         * lies outside the mft zone.  Also set done_zones to 0 (no zones done)
 186         * and pass depending on whether we are starting inside a zone (ss="line"9u4> 183  871span class="comment"> * @star * and passFT zonnd thnwhethf (ss="lin2IS_ERR(ed @sta star fact thE ? >
  8181span class="comment"> * mergi * and passtaDATA_ZOf the sFT zon data zon pointerossimain dir being  8191span class="comment"> *,   9101span class="comment"> * If @i * and passFT zonnd thnwhethf t thE ? >
  9111span class="comment"> * attri * and pa>
  91219      done_zones,   91319      pass,   914194     /*
  9151span class="comment"> * LCN_R * and pasart, , ,   9161span class="comment"> *  9171span class="comment"> * You n * and pas/a> *<)ss de4re dene does no2 (f the vollcn bittk fif the volr ba a href="fs/ntfs/lcnalloc.c#L183" id="L88" cla1ss="line" name="L98">  9181span class="comment"> * funct * and pasart
  9191span class="comment"> * alloc * and pa>
 12020      zone_start, start_lcn < -ef="fs/ntfs/lcnalloc.c#L29" id=""L101" cl2ss="line" name="L101"> 121201     if (!zone_start,  12220              if (zone == zone 12320                      continu="+code=BUG_ON"art" class="sref">zone_start, vol->rlpos 12420                     elsef="fs/ntfs/lcnalloc.c#L29" id=""524" classs="line" name="L95">  92520                      (unsign="+code=BUG_ON"art" class="sref">zone_start, vol->rlpos 12620                      href="+code=count" art" class="sref">zone_start,  12720                      /*
 1282span class="comment"> * volummmmmmmmmmmmmmmmmmmmmmmmm* Zs noa>, 
 1="L183"> ========= id="L77"<93" class="7ement">ynamuffici183nt"> * funct * and pasart
 110 */
  5120                      rlpos 122 name="L70">  70}
zone == ENOMEM) && if (!zone_start, vol->ENname="L70">  70}
 164     121201     if (!f">zone_start, vol->zone_start,   925                    (unsign="+code=BUG_ON"art" class="sref">zone_start, vol->  70}
 126                    /*
 117/*
 118ynsize d"commentmuffici183nt"> * funct * and pasart
 119 */
  60                    rlposzone ==  121201     if (!f">zone_start, vol->rlpos 122     121201     if (!zone_start, vol->zone_start,  123                    (unsign="+code=BUG_ON"art" class="sref">zone_start, vol-> hrref="+code=vol"-> hrss="Nname="L70">  70}
 16420              a>, vol->  70}
  92520                      (unsign="+code=BUG_ON"art" class="sref">done_zones,  126                    /*
 127, /*
 128 * funct * and pasart
 129 */
  60                    rlposrlposzone == zone_start,  123                    zone_start, vol->  70}
  64           /a>, pass,  180        "commassZONNE for)cln class=ref">zone_start,  126                     * iies ouln class="comment"> */
 1272">  91219      pass,  14801"> 121201     if (!zone_start, vol->zone_start,  17903"> 123                    zone_start, volnr_   70}
  6064">  64           /a>, rlpos  51}42ef">zone_start,  122     121201     if (zone_start, vol->rlpos 12320                 /a>, rlpos  64}f">rlposrlpos/*
  9171span class="p_pos" e volumea>, 
  9181span class="l_pos" class="s evenethe ruend pass daths.t even bnd pas/switchnt"> * funct * and pasart
  9191span class="comment"> * alloc * and pa>
 12020 /a>, zone_start, zone_startrlpos  71
 182         */
 153    zone_startrlpos 154   = 0, zone_start, done_zones,  175   /a> *zone_start(!voli_/a> *rlpos 156    zone_start 121201    /a>(!lcnbmp_vi);
zone_start,  148="sref">voln    ntfs_debug(
 17903"> 123name="L182"> 182 ug(ot;0xi, comment"> *lass="string%llx, start_lcn "
  6064">  64name="L182"> 182 ug(
  5120  name="L182"> 182 ug(ot;0xilx, zone %srt_lcn "
 122    48"> 148="sref">vol/a>, done_zones, search_zone< 
 12320                              (unsigned long   164                                (unsigned long  
 165                                (unsigned long /a>, rt_lcn "
 166                                (unsigned long /a>, bmp_pos<= 0, rlpos, lcnbmp_vi);
 16782"> 182         */
 148="sref">volla>, zone_start, lcnbmp_vi);
 179="sref">voln    ntfs_debug(
  6064">  64name="L1                    (unsigned long la>, lcnbmp_vi);
  5101"> 121201    la>, zone  zone_start,  122     121201         ntfs_debug( *  " cched. g%llx, start_lcn "
 12320               ef">ntfs_debug( *"DATA");
 164    goeve(unsigned long  as_d_zonehref="+code=zone_endas_d_zone" clef">rlpos 165}f">rlpos 126 121201    lass=""+code=last_readass=" cla> 121201    /a> *zone_start,  12720   121201    /a>, zone_start,  148             121201         ntfs_debug("DATA");
 179             121201    flleh_dccche_/a> *);
  6064">  64name="L18f">done_zones _dirtyf="+code=search_zt_/a> _dirty cla> 121201    /a> *);
  5120  name="L18121201    /a>, done_zones,  122    }f">rlpos 12320                 debugunmap_/a> *);
  64}f">rlpos  925               /a> *page *bmp_initial_pos, rlpos 166            mp_initial_pos);
 127 121201    IS_ERR"+code=last_reaIS_ERR cla> 121201    /a> *zone_start,  148         121201     int  121201    /a> *);
 17903"> 123               debuge=eont volsbf="+code=search_bclas>bmef">ntfs_debug("DATA");
  6064">  64goeve(unsigned long ouref="+code=zone_our" clef">rlpos  51}f">rlpos 122f">zone_start, zone_start, rlpos 123               /a> *zone_start _space" * 121201    /a> *rlsize, buf_size;
  64           /a>, zone_startrlsize, buf_size;
  925 121201     class="href="+code=buf class=" cla> 121201    /a>, rlsize, zone    70}
 166               /a>, zone_start rlsize, buf_size;
 1272">  91219 /a>, lcnbmp_vi);
 148="sref">volla>, zone_start, lcnbmp_vi);
 179="sref">vol/a>,  121201         lcnbmp_vi);
  60                    ntfs_debug(ot;0xi, lEntering for st%llx, start_lcn "
  5120  name="L182"> 182 ug(  91219 /a>, 
 1222222222222222222                    (unsigned long la>, 
 12320  22222222                    (unsigned long /a>, bmp_pos, lcnbmp_vi);
 124s="coar="sref">volla>, f">zone_start, ENOMEM) &&la>, rlsize, f">zone_start zone_start,   92520                 a>, *zone_start *volla>, lcnbmp_vi);
 12620                      ntfs_debug(ot;0xi, %llx, start_lcn "
 12720  06"> 12620   ef">ntfs_debug( 148            20   ef">ntfs_debug(
 179            20   ef">ntfs_debug(  91219 /a>, 
  6064">  64name="L111111111                    (unsigned long la>, 
  5120  name="L111111111                    (unsigned long /a>, 
 122            20   sref">bmp_pos,  12320                        int)r="sref">volla>,  164                          int)*               a>, *lcnbmp_vi);
  92520                       */
 12666666666*               a>, *zone_start,  12720  06"> 126="sref">volla>, volla>,  121201         lcnbmp_vi);
 148             121201         ntfs_debug("DATA");
 179            continuet;DATA");
  6000000000}f">rlpos  5120                 = 0, volla>, );
 122     121201         ntfs_debug(  91219 / 0, );
 123                        
volllllllllzone_start,  12520 3                    (uns3gn="+3ode=BUG_ON"art" class="sref">d"sref">ntfs_debug( 12666666666            /*
ntfs_debug(  91219 / 0,  127volla0" id="L120" 3lass=32line" name="L60">  68         id="L77"<93" cl entmuff3ci18332ref="+code=ntfs_debug" class=121" 3lass=32line" name="L51">  59         id="L77"<93" cln class=3comme32ef="+coddebuge=eon cla> 121  360       3             */
  36120  e 3         3    if (b"L12_nofs() operef=s (ss="oc#L12g=s (sly" id="L129" 2lass=2line" name="L129"> 3 3                   3       /a>, done_zo+ 2)ref="zeofe_start, bmef">ntfsr id="L70">  70}
 1280"> 1803/a>        "com3assZO33de=BUG_ON"art" class="sref">d"sref">ntfs_debug(,  326       3             3272">  91319      d"sref">ntfs_debug(  91219 / 0,  14801"> 123201     if (!bmef">ntfsr id="L19" 3lass=31ine" name="L179"> 149                            zone_"sref">d"sref">ntfs_debug(  91219 / 0,  16064">  63           /a>, zone_"sref">d"sref">nt219 / 0,  351}423f">zone_start,  35        3 121201     if (zone_22222222222222222222222222222222s, f">zone_start  12320 3               /a>,  121201    /a> *rlsizref="2s/ntfs/lc2alloc.c#L155" id+ (virlsizeL119" 3lass=31ine" name="L179"> 124   3s 3posd"sref">neeeeeeeestart,  121201 -start,  1ENOMEMd="he r7"2clss=29ine" name="L107"> 3         3    /*/*
neeeeeeeestart, volsbf="+code=search_bclas>bmef">ntfs_debug("DATA");
 1672">  913n class="p_pos" e volume3>, (neeeeeeeesDATA");
 1181sp3n class="l_pos" class="s3evene34/a>( 3191sp3n class="comment"> * all3c * a34de=zone_end" classsref">zone_"sref">d121" 3lass=32line" name="L51">  2020 3a>, rlsizre2tfs/lc2alloc.c#L12d="h_vi);
ntfsr id="_vi);
 371
done_zonesref/lc2ode=vol" class="sref/lc2"sres+s="sref">rlsizreclas>bmef">ntfsr id="L167" 2lass=2line" name="L167"> 37        3    done_zones, reclas>bmef">ntfsr id="ones,  353   3/a> rlsizee r7"2clss=29ine" name="L107"> 354   3 0,   91219 / 0,  r7"2clss=29ine" name="L107"> 35os *d"sref">neeeeeeeeeeeeeeeestart,  37        3/a> /*
  272">  913ne_start, /*

n    nnnnnnnnn_start,  3791sp3name="L182"> 182 ug<3a>(ofs/ntfs/lcnalloc.c#L183" Wenllocntfsc#L11"2s/ntc2allolfs/lctfs/iskL_size
  63name="L182"> 182 ug<3a>( 182 ug<3a>(  91219 / 0,  322   348"> 148="sref">vol/3>, dddddddddf">lcnbmp_vi);
  92320 3                        3   (u3signed long    364   3                        3   (u3signed2adjacse 365   3                        3   (u3signed 36        3                        3   (u36 pascat1re det being<, 2re dene doesfs/lcnnalloc.c#L2ize
  913          91219 / 0, 

 148="sref"3volla>, 19 / 0,   79="sref"3voln    nointefreetaller ef="+coda219 / 0, 
  6064">  63name="L1                3   (u3signed long la>, 19 / 0,  r7"2clss=29ine" name="L107"> 35101"> 123201    la>, f">zone_start  r7"2clss=29ine" name="L107"> 352   3 121201         nnnnnnnnnnnnnnnnn1ULL,os" classrt_lcn "
 12320 3             ef">ntf3_debu3( *  64   3goeve(unsigned long 3as_d_3onehref="+code=zone_endas_d_zos_d_zone.="strinrt_lcn "
 165}f">rlp3s
 16        3201    lass=""+code=3ast_r3adass=" cla> 12120000000000000000000000000);
done_zL115" 3lass=31ine" name="L95">  92720 3 121201    /a>, 3a hre3="+code=need_writeback" class="srefsref">zone_staprev_;, f">zone_start e="sref">buf_sizeprev_ef=_le/+code=zone_end"prev_ef=_le/d="L">rlsize, done_zLL88" c2a1ss=28ine" name="L148"> 348       3     121201     3   ntfs_debug("DATA");

  69="sref"3     121201    f3leh_d3cche_/a> *ntg%llx, start_lcn "e/span>
 r7"2clss=29ine" name="L107"> 36064">  63name="L18f">done_zones3_dirtyf="+code=search_zt_/a> _dirty cllllllllllllllllls" classrt_lcn "70" 2lass=27line" name="L60"> 35120 3name="L18121201    /3>, ntne_zones, reclas>bmef">ntfsr id="[);
done_zo- 1].
  22   3}f">rlpos 35320 3               debugunma3_/a> 3ntne_zones, reclas>bmef">ntfsr id="[);
done_zo- 1].
  964}f">rlp3sntne_zones, reclas>bmef">ntfsr id="[);
done_zo- 1].
buf_sizeprev_ef=_le/+code=zone_end"prev_ef=_le/d="L115" 3lass=31ine" name="L95">  965}f">rlp3       /a> *pagentne_zones, span cbiaDlass="sxlx, zone %s72">  91219 / 0, 

 166   3        mp_initial_posnt219 / 0,  36720 3201    IS_ERR"+code=3ast_r3aIS_ERR cla> 1212000000000000000000000000000000000s" classrt_lcn "70" 2lass=27line" name="L60"> 358       3 121201     int ntne_zones, reclas>bmef">ntfsr id="[);
done_zo- 1].
  29="sref"3               debuge=eo3t  36064">  63goeve(unsigned long oure3="+co3e=zone_our" clef">rlposntne_zones, reclas>bmef">ntfsr id="[);
done_zo- 1].
  51}f">rlp3s 362   3start, zone_sntne_zones, prev_ef=_le/+code=zone_end"prev_ef=_le/d="LL115" 3lass=31ine" name="L95">  923       3       /a> *zone_start>>>>>>>>" id="L142" 2lass=24ine" name="L102"> 364   3       /a>, zone_________________1    /a> *zone_start, done_zLLL88" c2a1ss=28ine" name="L148"> 325 123201     class="href=3+code3buf class=" cla> 121ntne_zones, span cbiaDlass="sxlx, zone %s72">  91219 / 0,  166   3           /a>, zone_a> 121nt219 / 0, 
  272">  91319 /a>, zone_a> 121nt219 / 0,  348="sref"3volla>, zone_start>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>s" classrt_lcn "70" 2lass=27line" name="L60"> 369="sref"3vol/a>,  12f">zone_a> 121ntne_zones, reclas>bmef">ntfsr id="[);
done_zo- 1].
 460       4            n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>s" classrt_lcn "70" 2lass=27line" name="L60"> 45120 4name="L182"> 182 ug<4a>(ntne_zones, reclas>bmef">ntfsr id="[);
done_zo- 1].
  4222222222422222222                4   (u4signed long la>, ntne_zones, reclas>bmef">ntfsr id="[);
done_z].
lcnbmp_vi)reclas>bmef">ntfsr id="[);
done_zo- 1].
  423222222242      /a> *ntne_zones, prev_ef=_le/+code=zone_end"prev_ef=_le/d="L115" 3lass=31ine" name="L95">  eaPAGE_C2"    3           /a>, 5u 365   3                   assass=f"n" srsref"7ot;DA4ra hreeef">veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>_SHIF" cl2 3     s"sref">zone_staprev_; * ef">lcnbmp_vi);
   3           /a>, (
  4222222222422222222                4   (u4signed long la>, ntne_zones, reclas>bmef">ntfsr id="[, regned _ntn, nt219 / 0,  374;llx, sta4t_lcn "
  4222222222422222222                4   (u4signed long la>, 107"> 12720  06"> 126="slass=31ine" name="L95">  92720 3 121201   /a>, 3a hre3="+code=need_writeback" class="srefsref">zone_staprev_;
  4222222222422222222                4   (u4signed long la>, 1zones, reclas>bmef">ntfsr id=="Lone_start, f">zone_start(
, 
 374ss="srefs4t_lcn "
 36        3                      4sass="3ss4t_lcn "
 153 *lcnbmp_vi);
s         4   (utcde=lcn" s+ 8)sltcev_; href="+code=bmp_poef="+code=lcne="L106"> comment"> */
 36        3                      4sllx, sta4">zone_start,   9curr    me="Lrefition.  Pefitions9"> 36        3                      4s8lx, sta4ef">lcnbmp_vi);
 36        3                      4sllx, sta4DATA");
nspective me="Lswitche (u3signed 36        3                      400000000}4">rlpos, 3a hre3="+code=need_writeback" class="srefsref">zone_staprev_;();
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>DandbiUpd27ass=curr    me="Lsref">zone_staprev_; *);
 166   3        mp_iefition, tcf="+3ode=buf_size" classsref">zone_a> 121 166   3        mp_f">done_zon                3   (u3signed long la>,  165}f">rlp3s,  ="sref">d"sref">ntfs_deb4g4done_zone_zones, reg">done_zonfsr id="[);
  912done_zone_zones, reg">done_zonfsr i____1    /a> *volla0" id="L1222222222case 1:__1    /a> *veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Bug" clchecksf_size" classsref">zone_a> 121 421 16064">  63           /a>,voleeeeemft_igned oones, span cbiaDlass="sxlx, zone %s724nalloc.c#42 Aa href= mlx, memlxylz4nlloc43>>>>>>>>s" classrt_lcn "70" 2lass=27line" name="L60"> 451<4">  63           /a>, zo4fs/ntfs/l4nalloc.c#L18fs/lcnnalloc4c#L2 4322222222s" classrt_lcn "70" 2lass=27line" name="L60"> 35        4            b"L12_nofs() 4peref43nvfs/l3nnalloc.c#L2vef"7sre+15" 3lass=31ine" name="L95">  423222222242       href="" class="sref">neeeeeeeestart, );
, 3a hre3=" href="" class="sref">neeeeeeeestart,  *ntfsr4id="L70">  70}
  423222222242       href="" class="sref">neeeeeeeestart,   clst_elem129e=BUG_start4/a>, 43ntfs/lc3alloc.c#L183" id="L18              assass=f"n" srsref5">  423222222242       href="" class="sref">neeeeeeeestart,  326       3 4     4     href="" class="sref">neeeeeeeestart, 19 / 0,   423222222242       href="" class="sref">neeeeeeeestart, bmef">ntfsr id="L19" 3lass=31ine" =31ine"lcn "
  91219 / 0,  160622222242       href="" class="sref">neeeeeeeestart, nt219 / 0,  351ne" name="L102"tcde=lcn" s+ 8)sltcev_;1eeee3222222242       href="" class="sref">neeeeeeeestart,  35 /a> , 3a hre3=" href="" class="sref">neeeeeeeestart, f">zone_start  351ne" name="L102" href="" class="sref">neeeeeeeestart, rlsi4eL119" 3lass60"> 351ne" name="L102"ef">veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fterlchecksf_size" classsref">zone_a> 121 351n4">  63           /a>,voleeeeemft_igned oones, span cbiaDlass="sxlx, zone %s724R_ERR cla4 121201 -start, 4a hEN4MEMaPTR_ERR cla> 1ENOMEMd="he r7"2clss=29ine" 9" 3lass60"> 351n4">  63           /a>, zo4=pag.="st4ing">"DATA");4 167       4            neeeee4eesDATA");
<4 hrea4 href= memlxyc.c#L119" id="L119" 3lass=31ine" 9" 3lass60"> 351n22222242       href="" class="sref">neeeeeeeestart, );
ot;04istpbyt of  lae * all3c * a34de4zone_4nd" classsref">zone_"sref">d121" 3lasscase 2:__1    /a> * 351n22222242      ef">veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Bug" clchecksf_size" classsref">zone_a> 1214lsizreclas>bmef">ntfsr id="L167" 2lass id="L167" 2lass60"> 351n4">  63           /a>,voleeeeedata1_igned oones, span cbiaDlass="sxlx, zone %s724>, reclas4bmef">ntfsr id="ones4  351n4">  63           /a>, zo4loc.c#L154" id+ lasss-s="sref">rls4zee r7"2clssssssssssssssssssssssssss       4             r7"2clss=29ine" name="L160"> 351n22222242       href="" class="sref">neeeeeeeestart, );
neee4eeeeeeeeeeeestart, <4 hrbf4"2s/ntfs/lc2alloc.c#L155" iL166666666666666666=24ine" name="L102"tcde=lcn" s+ 8)sltcev_;1eeee   /a>, 3a hre3=" href="" class="sref">neeeeeeeestart,  /*
 351n22222242       href="" class="sref">neeeeeeeestart, 
 351n22222242       href="" class="sref">neeeeeeeestart, 
 351n22222242       href="" class="sref">neeeeeeeestart, 
 351n22222242      tcde=lcn" s+ 8)sltcev_;1eeee3222222242       href="" class="sref">neeeeeeeestart,  , 3a hre3=" href="" class="sref">neeeeeeeestart, ddddddd4df">lcnbmp_vi);
 351n22222242       href="" class="sref">neeeeeeeestart,  L119" 3lass60"> 351ne" name="L102"ef">veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fterlchecksf_size" classsref">zone_a> 121 351n4">  63           /a>,voleeeeedata1_igned oones, span cbiaDlass="sxlx, zone %s724fs/lcnall4c.c#L18fs/lcnnalloc.c#L24Oa hr46EMaPTR_ERR cla> 1ENOMEMd="he r7"2clss=29ine" 9" 3lass60"> 351n4">  63           /a>, zo4 3   (u364pascat1re det being<, 2r4 dene4doesfs/lcnnalloc.c#L2ize
<4 href4e/span>
 351n22222242       href="" class="sref">neeeeeeeestart, );
);

 *19 / 0,  r7"2clss=29ine" n22222242      ef">veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Bug" clchecksf_size" classsref">zone_a> 121f">zone_start <4 href4"+code=zone_end" classsref")> r7"2clss=29ine" r7"2clss=29ine" n4">  63           /a>,voleeeeedata2_igned oones, span cbiaDlass="sxlx, zone %s724" classrt4lcn "
  63           /a>, zo4e.="strin4t_lcn "

neeeeeeeestart, );

, 3a hre3=" href="" class="sref">neeeeeeeestart, );
4a hr+4ode=rlsize" clasref">done_zL11=31ine" r7"2clss=29ine" n22222242       href="" class="sref">neeeeeeeestart, rlsize, done_zLL88" c2a1ssssssssss1ine"lcn quot;
);

neeeeeeeestart, ntg%llx, start_lcn4"4e/span>
 r7"2clss=29ine" name="L19ine" n22222242      tcde=lcn" s+ 8)sltcev_;1eeee3222222242       href="" class="sref">neeeeeeeestart,  _dirty cl4lllll4llllllllls" classrt_lcn "70" 2lass=27line" name="L60"> 35120  href="" class="sref">neeeeeeeestart, done_zo- 1].
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fterlchecksf_size" classsref">zone_a> 121  63           /a>,voleeeeedata2_igned oones, span cbiaDlass="sxlx, zone %s724 clasref"4done_zo- 1].
  63           /a>, zo4thne_z = 4+"sref">buf_sizeprev_ef=4le/+c4de=zone_end"prev_ef=_le/d="L115" 3lassssssssssssssssssssssssss       4            
<4 href4e/span>
neeeeeeeestart, );
nt219 / 0,  4212000000000000000004000004000000000s" classrt_lcn "70" 2lassdefault:__1    /a> *done_zo- 1].
, );
 121 374" clasref4>done_zo- 1].
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Finished.  Goass="srout>( 1181sp3n class="l_pos" class="s3evene34/a>(4tne_zones, prev_ef=_4e/+co4e=zone_end"prev_ef=_le/d="LL115"s3evene34/a>( *z4ne_start>>>>>>>>" id="L14"L179"> 118+code=need_writeback" cla            (uns3gn="+3ode=BUG_ON4" cssref"4zone_start, don5"s3evene34/a>(
n     *(nt219 / 0, veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fterlinnerlwhile   op: cuf_> *<="stringrlph3efes, span cbiaDlass="sxlx, zone %s724lass="sre4">nt219 / 0, 
 r7"2clssn4">  63           /a>, tfs_debug,  * 352   3 121201      _zones, reclas>bmef">ntfsr id="[);
done_zo- 1].
  64   3goeve(unsigned long 3as_d_3onehref="+code_lcn "
  63name="L182"> 182 uring for stp_pos" elass="stri"sr5s="sref">5>>>>>>>>>>>>>>>>>>>>>>>>5>>>>>5>>>>>>>>>s" classrt_lclcn quot;
 *veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Continuass=" cerlwhile   opf_size" classsref">zone_a> 121done_zo- 1].
  79="sref"3voln    , prev_ef=5le/+c5de=zone_end"prev_ef=_le/d="L115" 3lass1" 3l2ss name="L51">  64   3goeve(unsigned long 3as_d_3onehref="+codet_reaPAGE_CACHE_SHIF" class="s5"5s"sref"5none_start, 5u 355   3                   assass=f"n" srsref name="L51">  64   3goeve(unsigigned=bmp_pos" classlefigned=bmfsr iing for stp_pos" elass="stri"sr5s6s"sref"5n9 / 0, 19 / 0, (nt219 / 0, (ofs/ntf5;llx, sta5t_lcn "
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  me="dp/a>_dzon,Lr=2la               3   (u=="Lone_start=2leeeeeeeeeeee   >=2lfsr iing for stp_pos" elass="stri"sr5e" classs5t_lcn "
=2lfsr 1   1i____1    /a> *
 36        3                      5os" class5t_lcn "
 36        3                      5osize" cl5t_lcn "
Lr=2la1(u3signed
ofs/ntf5byte" css5ef">lcnbmp_vi);
=2lfsr 1  2ing for stp_pos" elass="stri"sr5e6s"sref"5comment"> */
zone_start, done_zone_zones, reg">done_zonfsr i____1    /a> *lcnbmp_vi);
ofs/ntf5bllx, sta5DATA");
neeeeeeeestart, );
rlposofs/ntf5rsref"7ot5DATA");
neeeeeeeestart, );
ofs/ntf5ryte" css53alloc.c#L1ze, 5="sref">d"sref">ntfs_deb5g5volla0" id="L1222222222estart, );
( 521ofs/ntf5nalloc.c#52 Aa href= mlx, memlxylz5nlloc53>>>>>>>>s" classrt_lcn "75" 3lass=31ine" namigned=bmp_pos" classlefigned=bmfsr  &lee3222222242      ignedgned p_pos" classlefignedgned fsr  b"L12_nofs() 5peref53nvfs/l3nnalloc.c#L2vef"7sre+1quot;
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Continuass=" cerlwhile   opf_r=2la2, size" classsref">zone_a> 121ntfsr5id="L70">  70}
zone_a> 1215 clst_elem129e=BUG_start5/a>, 53ntfs/lc3alloc.c#L183" id="L18              as name="L51">  79="sref"3voln     326       3 5     5      64   3goeve(unsigignedgned p_pos" classlefignedgned fsr st_reaPAGE_CACHE_SHIF" class="s5s<93" cl 519 / 0,   64   3goeve(unsigigned=bmp_pos" classlefigned=bmfsr st_reaPAGE_CACHE_SHIF" class="s5sllx, sta5="slass=========zone->5bmef">ntfsr id="L19" 3lass=31ine"  name="L51">  64   3goeve(unsigned long 3as_d_3onehref="+codid="[);
  91219 / 0, nt219 / 0, ofs/ntf5"s/ntfs/l52222222222222222222222225222225222222estart, ofs/ntf5"cnnalloc5">f">zone_start veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  dgned(done_zon       , dgned(zone_a> 121rlsi5eL119" 3lass name="L51">  79="sref"3voldone_zone_zones, reg">done_zonfsr u=="Lone_startdone_zone_zones, reg">done_zonfsr id="[);
"DATA");5ntfsr id="[done_zone_zones, reg">done_zonfsr d="[);
);
<5 hrea5 href= memlxyc.c#L119"5" 3lass=31ine" namdgned(ot;05istpbyt of  laeveeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Switchass=(( * all3c * a34de5zone_5nd" classsref">zone_"sref">d127" 2lass=2line" name="L16Now switch4tol"hf"nex  me="Lwenhaventri9;  dgne yet>(ofs/ntf5las>bmef"5ntfsr id="_vi);
=2lfsr 1  a>(5lsizreclas>bmef">ntfsr id="L16switch4ine" name="L102"g">done_zone_zones, reg">done_zonfsr i____1    /a> *ntfsr id="ones5 rls5zee r7"2clssne" name="L102"ef">veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Switchass=from6mft me="Ltoldata1 size" classsref">zone_a> 121 r7"2clss=29ine" name="L1>>>>>>>>>>>>>>>>>>>>>>>>>>>igne>(, <5 hrbf5"2s/ntfs/lc2alloc.c#L155" iL16666666667" 2lass=2line" name="L16Upd272"mft me="Lrefition. ofs/ntf5lpag.="st5> /*
zone________________1    /a> *s         4   (utcde=lcn" s+ 8)sltcev_; href="+code=bmp_poef="+code=lc5rs=">ot;05fs/lc3alloc.c#L1|la>, veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Bug" clchecksf_size" classsref">zone_a> 121
 351namen4">  63           /a>,voleeeeemft_igned oones, span cbiaDlass="sxlx, zone %s725pode=vol"5ef="+codode=buf_size"  h5ef="+5ode=buf_2alletTA" r7"2clss=29ine"             namen4">  63           /a>, ddddddd5df">lcnbmp_vi);
 35111111111       4             L119" 3lass60"> 351            namen        4   (u href="" class="sref">neeeeeeeestart, );
ntfsr id="[);
done_z].
lc_zones, reclas>bmef">ntfsr id="[);
 1ENOMEMd="he r7"2clss=29ine" 9" 3lass60"> 351nntfsr id="[);
done_z].
lc_zones, reclas>bmef">ntfsr d="[);
, 3a hre3=" href="" class="sref">neeeeeeeestart,  *neeeeeeeestart, neeeeeeeestart, , reclasmft_+coev_; href="+code=bmp_poef="+code=lc5a href="+5od="3s8ntfs/lc3alloc.cpr5v_ef=5le/span>
 href="" class="sref">neeeeeeeestart, 19 / 0,  r7"2clss=29ine" =30ine" 9" 3lassn        4   (u href="" class="sref">neeeeeeeestart, f">zone_start <5 href5"+code=zone_end" classsref")> r7"2clss=29ine" =31ine"lcn "

neeeeeeeestart, 
neeeeeeeestart, 
 , 3a hre3=" href="" class="sref">neeeeeeeestart, 
neeeeeeeestart, );
5a hr+5ode=rlsize" clasref">done_zL11=31ine" r7"2clssne" name="L102"ef">veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fterlchecksf_size" classsref">zone_a> 121rlsize, done_zLL88" c2a1ssssssssss=31ine" r7"2clssn4">  63           /a>,voleeeeemft_igned oones, span cbiaDlass="sxlx, zone %s725");

  63           /a>, ntg%llx, start_lcn5"5e/span>
 r7"2clss=29ine" name="L19ine" 11       4             _dirty cl5lllll5llllllllls" classrt_lcn "70" 2lass=27line" name="L9ine" men        4   (u href="" class="sref">neeeeeeeestart, );
done_zo- 1].
( ofs/ntf5 clasref"5done_zo- 1].
, regwitch_to_data1_ignetfs/:="L9ine" men        4   (ug">done_zone_zones, reg">done_zonfsr 1  2ing for stp_pos" elass="stri"sr5thne_z = 5+"sref">buf_sizeprev_ef=5le/+c5de=zone_end"prev_ef=_le/d="L115" 3lass         4   (uignedgned p_pos" classlefignedgned fsr  =rquot;

<5 href5e/span>
neeeeeeeestart, 19 / 0, neeeeeeeestart, 2000000000000000005000005000000000s" classrt_lcn "70" 2lass5" 3lass=31ine" namignedgned p_pos" classlefignedgned fsr  =   /a>, 3a hre3=" href="" class="sref">neeeeeeeestart, done_zo- 1].
, =2lfsr 1  2ing for stp_pos" elass="stri"sr5"+coddebu5e=eon cla> 121, 3a hre3="igned=bmp_pos" classlefigned=bmfsr i____1    /a> *done_zo- 1].
, neeeeeeeestart,  *, neeeeeeeestart, 5tne_zones, prev_ef=_5e/+co5e=zone_end"prev_ef=_le/d="LL111" 3l2ss=31line"estart, =2lfsr 1  2ing for stp_pos" elass="stri"sr5"clasref"5> *z5ne_start>>>>>>>>" id="L14444444445"s3evene34/a>(, donnnnnnnnnnnnnnnnnbreakd="[);
 *nt219 / 0, , veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Switchass=from6data1 igneLtoles, span cbiaDlass="sxlx, zone %s725lass="sre5">nt219 / 0, 
 r7"2clss1" 3l2ss=31line"e>>>>>>>>>>>>>>>>>>>>>>>>>>data2=((>>>>>>>>>>>>>>>>>>>>>>>5>>>>>5>>>>>>>>>s" classrt_lcn "70" 2lassn" 2lass=2line" name="L16Upd272"data1 igneLrefition. ofs/ntf6rlsize" c6asref">done_zo- 1].
zone________________1    /a> *6>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>6>>>>>>>>>s" classrt_lcassrt_lcn "70" 2lassnass=31ine" nam+code=lcn" s+ 8)slsref"~>s         4   (utcde=lcn" s+ 8)sltcev_; href="+code=bmp_poef="+code=lc6 clasref"6done_zo- 1].
, prev_ef=_6f="3s6/nvfs/l3nnalloc.c#L2vef"7sre+15" 3lass=31ine"  e" name="L102"ef">veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Bug" clchecksf_size" classsref">zone_a> 121, prev_ef=6le/+c6de=zone_end"prev_ef=_le/d="L115" 3lass1" 3l2ss5" 3lass=31ine"  4">  63           /a>,voleeeeedata1_igned oones, span cbiaDlass="sxlx, zone %s726"5s"sref"6none_start, 5u 365   3                   assass=f"n" srsref5" 3lass=31ine"  4">  63           /a>, 19 / 0, , neeeeeeeestart, nt219 / 0, ntfsr id="[);
done_z].
lc_zones, reclas>bmef">ntfsr id="[);

);
done_z].
lc_zones, reclas>bmef">ntfsr d="[);

, 3a hre3=" href="" class="sref">neeeeeeeestart, 
neeeeeeeestart, 
neeeeeeeestart, 


neeeeeeeestart, lcnbmp_vi);
neeeeeeeestart,  */
, 3a hre3=" href="" class="sref">neeeeeeeestart, zone_start, neeeeeeeestart, lcnbmp_vi);
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fterlchecksf_size" classsref">zone_a> 121);
 l2ss5" 3lass=31il4">  63           /a>,voleeeeedata1_igned oones, span cbiaDlass="sxlx, zone %s726continuet6DATA");
 l2ss5" 3lass=31il4">  63           /a>, rlpos);
, neeeeeeeestart, );
(ofs/ntf6ryte" css63alloc.c#L1ze, done_zone_zones, reg">done_zonfsr 1  4ing for stp_pos" elass="stri"sr6e6s"sref"6="sref">d"sref">ntfs_deb6g6
neeeeeeeestart, volla0" id="L1222222222estart, neeeeeeeestart, ignedgned p_pos" classlefignedgned fsr   621>>>>>>>s" classrt_lcn "722222222=31ilass=31ine" namignedgned p_pos" classlefignedgned fsr  eeee   /a>, 3a hre3="igned=bmp_pos" classlefigned=bmfsr i____1    /a> *, neeeeeeeestart,  *, , =2lfsr 1  2ing for stp_pos" elass="stri"sr6nyte" css6id="L70">  70}
(6 clst_elem129e=BUG_start6/a>, 63ntfs/lc3alloc.c#L183" id="L18        breakd="[);
 326       3 6     6    );
19 / 0, , veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Switchass=from6data2 igneLtoles, span cbiaDlass="sxlx, zone %s726sllx, sta6="slass=========zone->6bmef">ntfsr id="L19" 3lass=31ine" 9" 3lasse>>>>>>>>>>>>>>>>>>>>>>>>>>data1=((  91219 / 0, >>>>>>>>>>>e" name="L16Upd272"data2 igneLrefition. ofs/ntf6"alloc.c#6"sref">nt219 / 0, zone________________1    /a> *, s         4   (utcde=lcn" s+ 8)sltcev_; href="+code=bmp_poef="+code=lc6"cnnalloc6">f">zone_start rlsi6eL119" 3lass22222222estart, veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Bug" clchecksf_size" classsref">zone_a> 121L119" 3lass22222222e4">  63           /a>,voleeeeedata2_igned oones, span cbiaDlass="sxlx, zone %s726R_ERR cla6 121201 -start, 6a hEN6MEMaPTR_ERR cla> 1ENOMEMd="he r7"2clssref">L119" 3lass22222222e4">  63           /a>, "DATA");6);
<6 hrea6 href= memlxyc.c#L119"EMd="he r7"2clssref">L119" 3lass22222222estart, neeeeeeeestart, , ntfsr id="[);
done_z].
lc_zones, reclas>bmef">ntfsr id="[);
 * all3c * a34de6zone_6nd" classsref">zone_"sref">d12.c#L145" id="L919" 3lass22222222estart, );
done_z].
lc_zones, reclas>bmef">ntfsr d="[);
bmef"6ntfsr id="_vi);
, 3a hre3=" href="" class="sref">neeeeeeeestart, 6lsizreclas>bmef">ntfsr id="L16 id="L919" 3lass22222222estart, neeeeeeeestart, , reclas6bmef">ntfsr id="ones6 
rls6zee r7"2clssd="L919" 3lass22222222estart, neeeeeeeestart,  r7"2clss=29ine" name="L1222222estart, neeeeeeeestart, , <6 hrbf6"2s/ntfs/lc2alloc.c#L155" iL16666666669" 3lass22222222estart, neeeeeeeestart,  /*
, veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fterlchecksf_size" classsref">zone_a> 121<93" cl 6"fs/ntfs/lcnalloc.c#L1836 Aa h6ef= fs/lc2allolc2aL_size  63           /a>,voleeeeedata2_igned oones, span cbiaDlass="sxlx, zone %s726rs=">ot;06fs/lc3alloc.c#L1|la>, 
  63           /a>, 
 351namenstart, neeeeeeeestart, (ddddddd6df">lcnbmp_vi);
 ofs/ntf6  3   (u36igned long  L119" 3lassgotol         4   (ugwitch_to_data1_ignee_zones, regwitch_to_data1_ignetfs/ing for stp_pos" elass="stri"sr6p / 0,  *);
(, veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fterlme="Lgwitch, f">done_zon       , es, span cbiaDlass="sxlx, zone %s7269 / 0, 
6a hre6lntfs/lc3alloc.c#L29" id=""L101" 3l2ss=30line">>>>>>>>>>>>>>>>>>>>>>>>>>>r=2la      , _endinitialapreP3GE_CA3HE_, size" classsref">zone_a> 121
>>>>>>>>>>>>>>>>>>>>>>>>>>ignedgned   19 / 0,  r7"2clss=29ine"          4   (ug">done_zone_zones, reg">done_zonfsr u=="Lone_start=2leeeeeeeeeeee   >=2lfsr st_reaPAGE_CACHE_SHIF" class="s6eode=vol"6f">f">zone_start <6 href6"+code=zone_end" classsref")> r7"2clss=29ine"  name="L51">  64   3goeve(unsigned initialaprev_;ddddddd6lcn "
  64   3goeve(unsigignedgned p_pos" classlefignedgned fsr st_reaPAGE_CACHE_SHIF" class="s6e.="strin6t_lcn "
  64   3goeve(unsigigned=bmp_pos" classlefigned=bmfsr id="[);


, 3a hre3="igned=bmp_pos" classlefigned=bmfsr i____1    /a> *done_zL11=31ine" estart, veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Emptycigne,sgoass=toles, span cbiaDlass="sxlx, zone %s726ef=_le/d=6L">rlsize, done_zLL88" c2a1ssssssssss=31ine" e>>>>>>>>>>>>>>>>>>>>>>>>>>doned(();

donass=it>(ofs/ntf6lass="sre6">ntg%llx, start_lcn6"6e/span>
 r7"2clssgotol         4   (udgned( _dirty cl6lllll6llllllllls" classrt_lcn "75"s3evene34/a>(done_zo- 1].
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Continuass=" cerlwhile   op>(ofs/ntf6lrt_lcn &6+"sref">buf_sizeprev_ef=6le/+c6de=zone_end"prev_ef=_lestart, veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>ll ((
<6 href6e/span>
ofs/ntf6l000000006>19 / 0, ofs/ntf6lf=_le/d=62120000000000000000060000060000007" 2lass=2line" name="lassrt_lcn "7* MFT_ZONE, wenhave re">oy run=" c of " 2ce.3an c_zone" clasuot;0xi, ent">ofs/ntf6lquot;done_zo- 1].
ofs/ntf6"+coddebu6e=eon cla> 121, , remft_ignedgiznfsr  =r         4   (u href="" class="sref">neeeeeeeestart, neeeeeeeestart, done_zo- 1].
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>voleeeeemft_ignedgned     63           /a>, 6tne_zones, prev_ef=_6e/+co6e=zone_end"prev_ef=_le/d="LL111" 3l2ss name="L51">  64   3goeve(unsig href="" class="sref">neeeeeeeestart,  *z6ne_start>>>>>>>>" id="L1444444444 name="L51">  64   3goeve(unsig href="" class="sref">neeeeeeeestart, donnnnnnnnnnnnnnnnn name="L51">  64   3goeve(unsigmft_ignedgizne_zones, remft_ignedgiznfsr ring for stp_pos" elass="stri"sr6s , 3a hre3="MFT_ZONEp_pos" classlefMFT_ZONEfsr  ||cestart, , remft_ignedgiznfsr  &lee= 0i____1    /a> *nt219 / 0, , veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>No free 53" 2las left,sgoass=tol" c>(nt219 / 0, 
 7" 2lass=2line" name="L16Re">oy no m" cl" 2ce left on device> ofs/ntf6start>>>>>>>>>>>>>>>>>>>>>>>6>>>>>6>>>>>>>>>s" classrt_lcn "7estart, , done_zo- 1].
ofs/ntf7 clasref"7done_zo- 1].
, veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Sh>>>kass=mft me=".(, prev_ef=_7f="3s7/nvfs/l3nnalloc.c#L2ve /a>, 3a hre3="igned=bmp_pos" classlefigned=bmfsr  =r         4   (u href="" class="sref">neeeeeeeestart, , , remft_ignedgiznfsr  &eeeeeee  a>(, 5u 375   3             5" 3lass=31ine" nammft_ignedgizne_zones, remft_ignedgiznfsr  &eee 0i(neeeeeeeestart, , 3a hre3=" href="" class="sref">neeeeeeeestart, , , remft_ignedgiznfsr >(19 / 0, ofs/ntf7"8lx, sta7t>nt219 / 0, neeeeeeeestart, neeeeeeeestart, 
neeeeeeeestart, 
neeeeeeeestart, neeeeeeeestart,  *
neeeeeeeestart, neeeeeeeestart, 
 href="" class="sref">neeeeeeeestart, 
neeeeeeeestart, 
(lcnbmp_vi);

 */
neeeeeeeestart, neeeeeeeestart, zone_start, done_zone_zones, reg">done_zonfsr 1  2ing for stp_pos" elass="stri"sr7s8lx, sta7ef">lcnbmp_vi);
=2leeeeeeeeeeee   >=2lfsr 1  2ing for stp_pos" elass="stri"sr7sllx, sta7DATA");
);
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fterlsh>>>kass=mft me=", mft_ignedgiznP3GE_CA3HE_, size" classsref">zone_a> 121rlposzone_a> 121);
zone_a> 121);
  63           /a>,voleeeeemft_igned oon3GE_CA3HE_+cf">done_zon 2+csize" classsref">zone_a> 121>>>>>>>>>>>>>r=2la2+cdzone_a> 121, >>>>>>>>>>>>>>>>>>>>>>>>>igned=bmP3GE_CA3HE_+cvoleeeeedata1_igned oon zone_a> 121d"sref">ntfs_deb7g7>>>>>>>>>>>>>>>>>>>>>>>>>continuass=" cerlwhile   op>(  64   3goeve(unsigmft_ignedgizne_zones, remft_ignedgiznfsr st_reaPAGE_CACHE_SHIF" class="s708lx, sta7luster3 prem32ref="+code7lcn" 7rer="sref">volla0" id="L1222222222 name="L51">  64   3goeve(unsig href="" class="sref">neeeeeeeestart,   64   3goeve(unsig href="" class="sref">neeeeeeeestart,  721  64   3goeve(unsig href="" class="sref">neeeeeeeestart,   64   3goeve(unsigignedgned p_pos" classlefignedgned fsr st_reaPAGE_CACHE_SHIF" class="s7fs/ntfs/l7nalloc.c#L18fs/lcnnalloc7c#L2 7322222222s" classrt_lcn "70" 2lass name="L51">  64   3goeve(unsigigned=bmp_pos" classlefigned=bmfsr st_reaPAGE_CACHE_SHIF" class="s7fsize" cl7c#L2  clas>b"L12_nofs() 7peref73nvfs/l3nnalloc.c#L2vef"7sre+1assrt_lc name="L51">  64   3goeve(unsig href="" class="sref">neeeeeeeestart, (  70}
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fterl" cerlwhile   op>(7 clst_elem129e=BUG_start7/a>, 73ntfs/         4   (u" ceeeeeeeeeeee   " cfsr :__1    /a> * 326       3 7     7    , veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>tl" c>(19 / 0, ofs/ntf7sllx, sta7="slass=========zone->7bm5" 3lass=31ine" namlikelyeeeeeeeeeeee   likely>>>>>>ass=31ine" nampan>);
 *  91219 / 0, ass=31ine" nampan>);
done_z].
lcvcode=need_writebavbmef">nf">ntfsr id="[);
done_z].
lcvcode=need_writebavbmef">n+lestart, );
done_z].
lc_zones, reclas>bmef">ntfsr d="[);
nt219 / 0, ass=31ine" nampan>);
done_z].
lc_zones, reclas>bmef">nf">ntfsr id="[, reclasis_exteameooef">n?2estart, , reclas+co_ENOENTef">n:2estart, , reclas+co_RL_NOT_MAPPEDfsr d="[);
ass=31ine" nampan>);
done_z].
lc_zones, reclas>bmef">ntfsr    ef="+code=need_writeback" class=7"cnnalloc7">f">zone_start (rlsi7e>>>>>ass=31ine" nampagne_zones, repagnfsr  e hrea hrefne" name="L179">IS_ERRe_zones, reIS_ERR>>>>>>ass=31ine" nampagne_zones, repagnfsr ))i____1    /a> *201 -start, 7a hEN7MEMaPTR_ERR cla> 1ENOMEMd="he estart, veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Markass=pagn dirty>("DATA");7, , reflush_dcached agn>>>>>>ass=31ine" nampagne_zones, repagnfsr )ing for stp_pos" elass="stri"sr7=8lx, sta7eesDATA");
<7 hrea7 href= memlxyc.c#L119"EMd="he          4   (ug"td agn_dirtye_zones, reg"td agn_dirty>>>>>>ass=31ine" nampagne_zones, repagnfsr )ing for stp_pos" elass="stri"sr7=llx, sta7istpbyt of  lae * all3c * a34de7zone_7nd" classsref">zone_"s5"s3evene34/a>(bmef"7ntfsr id="_vi);
, vunmapd agne_zones, reef">vunmapd agn>>>>>>ass=31ine" nampagne_zones, repagnfsr )ing for stp_pos" elass="stri"sr72ode=vol"7class="sref/lc2"sres+s="7ref">7lsizreclas>bme5"s3evene34/a>(ntfsr id="ones7 >>>>ne" name="L179">erreeeeeeeeeeee   errfsr )i____1    /a> *rls7zeup_writeeeeeeeeeeeee   up_write>>>>>a hre   3goeve(unsig href="" class="sref">neeeeeeeestart, , veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>De=".(, <7 hrbf7"2s/ntfs/lc2alloc.c#L1returnc>ass=31ine" nampan>);
/*
(, verroreeeeeeeeeeee   ef">verror>>>>>>ass=31ine" nam href="" class="sref">neeeeeeeestart, , regbfsr , >>>>>>>>>>>>>>>>>>>>>>>>>>>Failed=toleback272"53" 2las, abortass=size" classsref">zone_a> 121>>>>>>>>>>>>>>>>>>>>>>>>>>(errora      )>(, );
 *, lcnbmp_vi);
,  L11estart, veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Not enoughl" 2ce tolcomple72"eback27ion+csize" classsref">zone_a> 121>>>>>>>>>>>>>>>>>>>>>>>>>>err -ENOSPC, first free HE_n zone_a> 121 1ENOMEMd="he r7"2clssid=""L10>>>>>>>>>>>>>>>>>>>>>>>>>>>couldleback272"up tol zone_a> 121>>>>>>>>>>>>>>>>>>>>>>>>>>c3" 2las>(  64   3goeve(unsigpan>);
lc_zones, reclas>bmef">st_reaPAGE_CACHE_SHIF" class="s7"s=">ot;07href="+codprev_;
7a hre7lntfs/lc3alloc.c#L29" id=""L101" 3l2ss=30line" name="L51">  643lass=31ine" namcounceeeeeeeeeeee   councnnalloclass=31ine" namc3" 2lass=2line" name="53" 2lasev_;iring for stp_pos" elass="stri"sr7a href="+7od="3s8ntfs/lc3alloc.cpr7v_ef=7le/span>
(ofs/ntf7e=last_re7="+coda219 / 0, , veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>ttemptass=rollback...(f">zone_start <7 href7"+code=zone_end" classestart, ntfsr id="[>>>>>ass=31ine" nam href="" class="sref">nees7estart, );

 *
verroreeeeeeeeeeee   ef">verror>>>>>>ass=31ine" nam href="" class="sref">neeeeeeeestart, , regbfsr , >>>>>>>>>>>>>>>>>>>>>>>>>>>Failed=tolrollback (errora      )> csize" classsref">zone_a> 121
>>>>>>>>>>>>>Leavass=incoame 2lnt7metadata! csize" classsref">zone_a> 121

>>>>>>>>>>>>>UnmouncLabmPrun=chkdsk>(, done_zL11estart, nee)ing for stp_pos" elass="stri"sr7e<93" cl 7L">rlsize, do5"s3evene34/a>();

ofs/ntf7lass="sre7">ntg%llx, start_lcn7"7e/span>
, vfreeeeeeeeeeeeee   ef">vfree>>>>>>ass=31ine" nampan>);
 _dirty cl7lllll7llllllllls" cl} 1ine"lcn quot;
, done_zo- 1].
veeeeeeeeeeeeeeeee     ref">n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Nol" 2ce left atleba, err = -ENOSPC, first free size" classsref">zone_a> 121>>>>>>>>>>>>>HE_n=P3GE_CA3HE_SHIFT"+code=last_reaPAGE_CACHE_SHIF" class="s7 clasref"7done_zo- 1].
  64   3goeve(unsig href="" class="sref">neeeeeeeestart, buf_sizeprev_ef=7le/+c78tfs/lc2alloc.estart, >>>>a hre   3goeve(unsig href="" class="sref">neeeeeeeestart, 
<7 href7e/span>
ass=31ine" namERR_PTRe_zones, reERR_PTR>>>>>>ass=31ine" namerreeeeeeeeeeee   errfsr ring for stp_pos" elass="stri"sr7l000000007>19 / 0, (2000000000000000007000007000000"s3evene34/a>(done_zo- 1].
ofs/ntf7"+coddebu7e=eon cla> 121ofs/ntf7"=last_re7>done_zo- 1].
ofs/ntf7"lsize" c71" id="La> 121ofs/ntf7"fs/lc2al7tne_zones, prev_ef=_7e/+co7e=zone7" 2lass=2line" name="l* @counc:111111numberl"f 53" 2las to free ora-1 foraebal53" 2lasevn c_zone" clasuot;0xi, ent">ofs/ntf7"clasref"7> *z7ne_sta7" 2lass=2line" name="l* @ctx:11111111active at>>>butecf">don7context"lcnpreslnt7oraNULL"lcnnotevn c_zone" clasuot;0xi, ent">ofs/ntf7"rt_lcn &7zone_start, ofs/ntf7"ot;ofs/ntf7"000000007t219 / 0, ofs/ntf7"f=_le/d=7">nt219 / 0, ofs/ntf7start>>>>>>>>>>>>>>>>>>>>>>>7>>>>>79/ntfs7" 2lass=2line" name="l*evn c_zone" clasuot;0xi, ent">ofs/ntf8rlsize" c8asref">done_zo- 1].
ofs/ntf8r1size" c8adone_zo- 1].
ofs/ntf8r2size" c8a" id="La> 121ofs/ntf8 3lasref"8dne_zones, prev_ef=_8f="3s80=zone7" 2lass=2line" name="l*3an c_zone" clasuot;0xi, ent">ofs/ntf8 4lasref"8d *don7context"of @ni abmPits base mftevn c_zone" clasuot;0xi, ent">ofs/ntf8"5s"sref"8none_start, 5u 380=rlsi7" 2lass=2line" name="l* record.  Thiecis needed when __  ref53" 2la_free() =bcounclas4unmappedevn c_zone" clasuot;0xi, ent">ofs/ntf8"6s"sref"8n9 / 0, ofws their mappass.  If you donnotnhave the mftevn c_zone" clasuot;0xi, ent">ofs/ntf8"7s"sref"8n219 / 0, ofs/ntf8"8s"sref"8n>nt219 / 0, ofs/ntf8"9s"sref"8n>>>>>>>>>>>>>>>>>>>>>>>8ef="380/ntfs7" 2lass=2line" name="l*evn c_zone" clasuot;0xi, ent">ofs/ntf8e" classs8t_lcn "
ofs/ntf8e1size" c8t_lcn "
, 3the g>
>>>>a hre   3g_zone" clasuot;0xi, en=7eclasre8"7t_lcn "

>>>>a hre   3g_zone" clasuot;0xi, en=8 4lasref"7t_lcn "
>>>>a hre   3g_zone" clasuot;0xi, en=8"5s"srefs7ef">lcnbmp_vi);
 */
zone_a> 121zone_start, zone_a> 121lcnbmp_vi);
6tne_zonesuNing for stp_pos" xi, en=7eclasre8"7t_lcn "="_endodekef="" class2e8"7t_lcnees=2line"          4   (udgned(ofs/ntf8e" classs8t_lcns="s6s="sref">6tne_">zosuNing for smp_pos" xia>, 7eclasre>>>>>>>>>>>>>>>>>>>>8ef="380/ntfs7" 2lalloc.c#L28estart, veeee8eeeee82ee() saves the gnetecof @ctx >>>>>>>>>>>>>>>>>>>8ef="380/ntfs7" 2lals=2line"  id="L1222222222>>>>>>>>8>>>>>82 whose runlist describes the 53ionevn c_zo sha> 121 121>>>>>>>>>>>>>>>>>>8ef="380/ntfs7" 2lals=2line"  id="L1222222222>>>>>>>>8>>>>>82ver,, 3thlaaualft poi 2las4i, F" cls>>>Y"s6 en=8"6s"sref"7co id>abmPrestoresPitevn cinoread>>>>>>>>>>>>>>>>>>>>8ef="380/ntfs7" 2lals=2line"  id="L12.c#L122"n4">  638/a>  82 ent">ofs/ntf8 4lasref"8d *82, @ced,.e. a>>ftetlthee ebd=t,nLamery abmPrestoresPitevn cdot_l8"7smodzoner1size" c8ae" clasuo"sref"n "
>>>>>>8>>>>>82 when __  ref53" 2la_free() =bcomoreffree,e>>>c_zone" csuotrklassrsef"8n2iteveeeees lot;r>>>>>>>>>>>>>>>>>>>>8ef="380/ntfs7" 2lals=2line" c#L1++123" 3lass >>>>>>>8>>>>>82 ent">ofs/ntf7"000000007t219 / 0,   82lasssref">zone_a> 121ofs/nt(8"7sf8"6sRessassrsefd p_)lcn "
la08 id="L1222222222 name="L81">  82ee>>>>>>>>>>>>>>>>>>>8ef="380/ntfs7" 2lals=2line" class=1222222222 name="L81">  82 ent">ofs/ntf8e" classs8t_lcn "
  83ee() saves the gnetecof @ctx oWARNING:"of @ni abmPiupplse mfregardl en8 clones/ntf6uc, en8csufailue gia href="+co3e=buf3 s7ef">z7ne_sta7" 2l8classrt_l8n "722222222        84   (83 whose runlist describes the 55555555553g_zonree() wievn  c_zoarch ))i___(@f">6tne_">zo)f8"5s"f_, entot;0, ent,e>>>>>a  href="+co3e=buf3 s7ef">z7ne_sta7" 2l8cs=2line" n "70" 2lass name="L81">  83ver,, 3thlaaualft poi 2las4i,          pedetf7"8lx, validhre   3) wievn  c_zeis/ntfasuo href="+co3e=buf3 s7ef">z7ne_sta7" 2l8cs=2line" f"7sre+1assrt_lc name="L81">  83stx or)retu, sod, yom53"or)t7mlas to free3a_zone_reref"_" cla70>a n ccsuee3a_zone_pu"_" cla70>a n ccne6"> href="+co3e=buf3 s7ef">z7ne_sta7" 2l8coc.c#L_s8e34/a>(>ftetlthee ebd=t,,,,,,,,,,In_lcn fassefPen=___(@f">6tne_">zo)f;0xi,g cla) wit">of" cla="stc7"c href="+co3e=buf3 s7ef">z7ne_sta7" 2l8c.c#L123"8a>, veeeeeeeeeeee8eeee 83 when __  ref53" 2la_free() =bbbbbbbbbbwhner1sifs/ntf8"tf8r1sio 12fone_a> href="+co3e=buf3 s7ef">z7ne_sta7" 2l8cs=2line"  ceeeeeeeeeeee   " cfsr 8__1  83 ent">ofs/ntf7"000000007t219 / 0, , veeeeeeeeeeee8eeee 83lasssref">zone_a> 121oofs/n/ntft;0xi3g_zoc"oof7"cleeeetf8"ti/a>e>>>19 / 0, la08=2line" name="L16Add run8ist c83ee>>nLam,e>>>c_zone" asre3g_modzoic_zone">19 / 0, ofs/ntf8e" classs8t_lcnssssssssssssevn c_zonnotnhave the mftevn  c_zbe2la_fre> href="+co3e=buf3 s7ef">z7ne_sta7" 2l818"c#L92"8>ass=31ine" nampan>);
doneIF" cbitla_ft;0xi3g_nnooc"oof   s/ntf8e1siis_nnooc"oo href="+co3e=buf3 s7ef">z7ne_sta7" 2l81lassrt_l8>ass=31ine" nampan>);
 href="+co3e=buf3 s7ef">z7ne_sta7" 2l81s=2line" >ass=31ine" nampan>);
a h takne" cla7>doneIF" cbitla_fooc"f7"cleeeetf8"ano href="+co3e=buf3 s7ef">z7ne_sta7" 2l81s=2line" e34/a>( href="+co3e=buf3 s7ef">z7ne_sta7" 2l81oc.c#L_s8=31ine" namlikelyeeeeeee8eeee 84, @ced,.e. a>>ftetlthee ebd=t,,,,,,,,,,-"of @ni abmPt;0x 3g_zof"8none_ref53" 2ofs/ntft;0xi8"7sbe2la_frelcn "
 href="+co3e=buf3 s7ef">z7ne_sta7" 2l81s=2line" EMd="he estart, vee84lasssref">zone_a> 121e>>>19 / 0, , zone_a> 121 href="+co3e=buf3 s7ef">z7ne_sta7" 2l81lla08EMd="he          4   (ug8td ag84ee
>>>>>>>>>>>>>Faref">L11estllback eeeeeee>>>>>>>>>>>>>>Fy abmPrestoresPitevf">L11estllbacky abmPrestoresPitev stp_pos" elass="strabmPr>>>Nol" 2ce left at>>>Nol" 2ce lefierroraHE_Stp_pos" elass="stVCN>>>>Nol" 2ce leVCNeeeee>>>>>>>>>>>>>>F, ent">off">L11estllback  ent">ofstp_pos" elass="stri"aref">L11estllback eeeeeee>>>>>>>>>>>>>>Fass=2line" name="53" 2lasev_;.
zone_"85"s3evene34/a>(bmef"7ntfsr id="_pos" elass="strabmPrzone_" cla70>a >>>>Nol" 2ce left atzone_" cla70>a eeeee*pos" elass="str>a >>>>Nol" 2ce le>a eeeeraHE_Stp_pos" elass="stboekef="" class="srboekeeeee>>>>>>>>>>>>>>Fionevn c_zoef="" class="srionevn c_zodone_zo- 1].
vunma8d agn8_zones;
(ntfsrs" elass="stri"aref">L11estllback eeeeeee>>>>>>>>>>>>>>Fdeltaass="stri"sr7lrteltastp_pos" elass="stri"toPitevf">L11estllbacktoPitevstp_pos" elass="stri"totalPitevass="s7fsize" cltotalPitevastp_pos" elass="stri"sealPitevass="s7fsize" clsealPitevastp_ href="+codpr7v_ef=7le/spa5"s3e82a5" 3las8=31ine" namlikelyeeeeeee8eeee 8 likely>>>>>nepos" elass="strabmPr7>done>>>>Nol" 2ce left at7>done_zeee*pos" elass="strdekef="" class="srf="_end href="+codpr7v_ef=7le/spa5"s3e82oc.c#L_s8e" name="L179">up_writee8eeeee8eeee   up_writstructp_pos" elass="st>>>Nol" 2ce le>>>Nol" 2ce le/spa7"+vi_end href="+codpr7v_ef=7le/spa5"s3e82oc.c#L128estart, veeee8eeeee85_write>>>>>a hre   3goeve(unonnotnh_, sta7=ss="s7fsize" clsnnotnh_, sta7=eeeee*pos" elass="strr79pag.="st7> /*
8alloc.c#L8returnc>ass=31ine" nampa8>);
<8 hr+code=rlsiz stp_pos" elass="stri"r7l000000007>19 / 0, <+code=i_siz3"7cla357>/*
8atfs#L92"8e34/a>(/*
8alla08a>, verroreeeeeee8eeee 8 ef">verror>>>>>>ass=31ine" nBUG_ON>>>>Nol" 2ce leBUG_ON stp_a> *>>>>>>>>>>>>>>>8>>>>>8>>>>(errora   >>>>>>>>>>>>>>>>>>>>>>>>>>>>>Nol" 2ce left atleba, err = -ENOSPC, first free size"E" 2ltf8"7"cl3tofsla7fs/lcnallsref"87oc.c#L183" id="Ldirty cl7lllll7llllllllls"8fs5" 3las8=31ine" name"n>);
   3goeve(unsig href="" c3GE_CA3HE_SHIFT"+code=last_reaPAGE_CA.aPAGEslsiz)ing for stp_pos" elass="sai>>>>Nol" 2ce lefierroned oofsr st_reaPAGE_CACno>>>>Nol" 2ce le_CACnostp_porlsize0c#L2vef"7sref">lc_zones,, ent">off">L11estllback  ent">ofstp_pd="Ldirty cl7lllll7llllllllls"8fc.c#L1678int7estart, lc_zones,ass=2line" name="53" 2lasev_;.
l86   3goeve(unsigigned=bmp_>>>>>>>>>>>>>>Fionevn c_zoef="" class="srionevn c_zodoneef">GE_CA3HE_SHIFT"+code=last_ (evn c_zo)lsiz)ing for _RL_GE_CA3HE_SHIFT"+code=last_l"7f">f">zone_start <7 href7"+code=zone8oc.c#L11585" 3lass=31ine" namerree8eeeee86likely>>>>>nepos" elass="strdekef="" class="srf="_end"" class="sr  ref53i>>>>Nol" 2ce lefierroned oofsr st_reaPAGEdekef="" class="srf="_end href="+codpr7v_ef=7le/spa5"s3e8f_size"="8ref">L11estart, vee8eeeeeeeeeeeeeepos" elass="str/spa7"+vi>>>>Nol" 2ce le/spa7"+vi_endt, >>>Nol" 2ce le/spa7"+ino_end href="+codpr7v_ef=7le/spa5"s3e8foc.c#L128="h="L88ef#L29" id=""L108>>>>>86_write>>>>>a hre   3goeve(unBUG_ON>>>>Nol" 2ce leBUG_ON stp_a> *>>>Nol" 2ce le/spa7"+vi_end_start <7 href7"+code=zone8olloc.c#L8EMd="he r7"2clssid=""L108>>>>>8>>>>>>>>>>>>>>hre   3goeve(unBUG_ON>>>>Nol" 2ce leBUG_ON stp_">lc_zones,, ent">off">L11estllback  ent">ofstp_2 0_start <7 href7"+code=zone8otfs#L92"8ze>>>>86  ref">n>>>>>>>>>>>>>>>>>>>>BUG_ON>>>>Nol" 2ce leBUG_ON stp_">lc_zones,ass=2line" name="53" 2lasev_;i -1_start <7 href7"+code=zone8olla08id=2"L1000000000000000008name=86minator elename>(ofs/ntf8e" classs8t_lcccccccccHILoc"3g_zoF" cbitla_f7"cleeeetf8"bustarly&7zone_21, veeee8eeeee87 whose runlist describes theccccccccHItf7"ot;z7ne_sta7" 2l8end" clas8estart,  12"sref"7t_ clabit again 3g_ua href="+co3e=buf3 s7ef">z7ne_sta7" 2l8end"prev_85" 3lass=31ine" namerr2e8eeeee87stx or)retu, sod, yom53"or)tccccccccHIla7p / 0ot;0ht;0xi, ent7"clanss/nto id> href="+co3e=buf3 s7ef">z7ne_sta7" 2l8lloc.c#L28" id="L2estart, ver87, @ced,.e. a>>ftetlthee ebd=ccccccccHg%llx, start_lcn7"7e/span>
>>>>>>>" name="L179">erreeeeeeeeeeee   errfsr )i____1    /a> *
>>>>>>>>>>>>>Un>>>>>>>>>>>>>>Fdowng href="" class="srefdowng href    /art, 
<7 href7e/span>
8one_zL11estart, /*
8lasref">d85"s3evene34/a>(verror>>>>>>ass=31ine" ntotalPitevass="s7fsize" cltotalPitevastp_done_z].
 * all3c * a34de7zone_7nd" classsr8href#L29"87" 2lass=2line" name="L18Free 8he runll3c * a34de7zone_7nd" classsr8r)TA"8estart, vfree8eeeee8eeeee   ef">vfpos" elass="strr79pag.="st7> ofk>>>>>>ass=31ine" nam href=zone_find">ofk>>>>>> stp_pos" elass="strai>>>>Nol" 2ce lefierrora>>>>>>>>>>>>>>F, ent">off">L11estllback  ent">ofstp_pos" elass="stri">a >>>>Nol" 2ce le>a eeeeow"(;
<7 href7e/span>

erreezones, repagnfsr ))i____1    /a> *  91219 / 0, veeee8eeeee8eeeeee     ref">n>>>>>art, 8>>>>>>>>>>>>HE_n=P3GE_CA3HE_SHclass="sr  ref53" 2lef="" class="sref">neeeeeeeestart, , regbfsr , >>>>>>>>>>>>>>>>>>>>>>>>>>>Failed=tolrollback (errora      )> csize" classsref">zone_a> 12findla7tfs/onnotnha7oc.c#L183" id="Ldirty cl7lllll7llllllllls"8lloc.c#L281111111111111111(">  64<8a>   8goeve(unsig href="" class="sref">neeeeCA3HE_SHc     )> csize" classsref">, sta7=HIF" cla7nrt_li)a7rs=">ot;f"7done_zo- 1].
  91219 / 0, 
<7 href7e/span>
>>>>>>>>>>>>>Un>>>>>>>>>>>>>>Feeeeeeeeee   ENOSPCfsr ihreda>>>>>>>>>>>>>FPen=___led=tolrollbackPen=____1    /a> *  91219 / 0, w"(;
<7 href7e/span>
8span ceback" cl7lf=_le/d8721>>>>>>>>>>>>>Feee_pag7s=29ine" 7ame=eee_pag_end href="+codpr7v_ef=7le/spa5"s3e8ne34/a>(<8pan ceback" cl7lquot;verror>>>00000000000007000007000000"s3ev8ss=2line"8name="/*13an c_zone" cla8uot;088likely>>>>>>ass=31ine" nampan>);nnoteeeeeeee   errfsr )nnoteeee_1    /a> *  91219 / 0,odekfsr )ing for stp_po="stri"sr7tot; sr )ing for stp"s/nHOLE="stri"sr7tot;<"s/nHOLE/ 0,    3goeve(unsig hart, neeeeeeeestart, , regbfsr , >>>>>>>>>>>>>>>>>>>>>>>>>>>Failed=tolrollback (errora      )> csize" classsref">z7tfs/onnotnha, sta7=Hhasa7oc.c#L183" id="Ldirty cl7lllll7llllllllls"8ss=2line"8name="l* @gned _vcn:11vc8cin t89   3goeve(unsigigned=bmp_pos" clarrrrrrrrc     )> csize" classsref">invalidoF" a7rs=">ot;f"7done_zo- 1] w"(;
<7 href7e/span>
>>>>>>>>>>HE_n=P3GE_>>>>>>>>>>>>>>Feeeeeeeeee   ENOSPCfsr ihred"+code=bmp_poef="IOeeeeeee   ENOSP"IO_end href="+codpr7v_ef=7le/spa5"s3e8ss=2line"8name="l* @ctx:11111111ac8ive a89oeve(unsig href="" clgo 12>>>>>>>>>>>>>>Feee_pag7s=29ine" 7ame=eee_pag_end href="+codpr7v_ef=7le/spa5"s3e8ss=2line"8name="l* @is_rollback:11811111895f">verror>>>00000000000007000007000000"s3ev8ss=2line"8name="l*evn c_zone" clas8ot;0x89>>>>>>>>>>>>>he>(>>c_z_lcn fevn sf7"fs/lc>ntg%llx, start_lcn7"7e/span>
n>>>>>>>>>>>>>>>>>>>>deltaass="stri"sr7lrteltastp_reda>>>>>>>>>>>>>F, ent">off">L11estllback  ent">ofstp_2ring for stp_pos"=pag7">  91219 / 0,odekfsr )ing for stphr+code=rlsize" clasref"> href="+codpr7v_ef=7le/spa5"s3e8se34/a>(<8name="l* described by th8 vrec89done_zo- 1].
>>>>>>>>>>>he>(ofs/ntf8rent">c_z_lcn fevn f7"fs/lc>ntg%llx, start_lcn7"7e/span>
vfpos" elass="strtoPitevf">L11estllbacktoPitevstp_done_z].
f">zonring for stp_pos"deltaass="stri"sr7lrteltastp_ href="+codpr7v_ef=7le/spa5"s3e9ss=2line"9name="l* deeback272d.  T9us, t90e   errfsr  =" name="L179">erreeass=2line" name="53" 2lasev_;i>>>>>ass=pos" elass="strtoPitevf">L11estllbacktoPitevstp_d>>>>>>>>>>>>>Fass=2line" name="53" 2lasev_;_zo- 1].
n>>>>>>>>>>>>>>>>>>>>toPitevf">L11estllbacktoPitevstp_done_z].
>>>>>ass=31ine" nampagne_zones, repagnfsr  e hrea hrefne" name="L179=pag7">  91219 / 0,odekfsr )ing for stp_po="stri"sr7tot;n>>>>>>e>(ofs/ntf8rent">c_z>ntg%llx, start_lcn7"7e/span>
>>>>>>>>>>>>>Un>>>>>>>>>>>>>>Feeeeeeeeee   ENOSPCfsr ihreda>>>>>>>>>>>>>Feeeeebitla__pagnbitatneeeeebitla__pagnbitat>>>Nol" 2ce le/spa7"+vi_endpos" elass="stri"sr7ecnnalloc7lcn "odekfsr )ing for stp_po="stri"sr7tot;
>>>>>>>>>>>>>>>>>>c3" 2las>(>>>>>>>>>>>>>>toPitevf">L11estllbacktoPitevstp_pos" elass="stri"eeeeeeeeee   errfsr )i____1    /a> *);
);nnoteeeeeeee   errfsr )nnoteeee_1    /a> *rls7ze  643lass=31ine" namcart,    3goeve(unsig href="" c>>>>>>>>>>>>>>3" 2lef="" class="sref">neeeeeeeestart, , regbfsr , >>>>>>>>>>>>>>>>>>>>>>>>>>>Failed=tolrollback (errora      )> csize" classsref">zone_a> 12clearla7tfs/onna7oc.c#L183" id="Ldirty cl7lllll7llllllllls"9ss=2line"9name="l* bef" clreturnas9.  Th91eee   err2lsizing forrrrrrrrr(unsig href="" c     )> csize" classsref">IF" cla7nrt_lca7rs=">ot;f"7done_zo- 1]._pos" elass="stri"sr7/lcnalloc7c#L183" Wenllocntfsc#L1172s/nt72allolfs/lc9ss=2line"9name="lr)returastx onLam9ss.Ho91   3goeve(unsigigned=bmp_go 12>>>>>>>>>>>>>>Feee_pag7s=29ine" 7ame=eee_pag_end href="+codpr7v_ef=7le/spa5"s3e9ss=2line"9name="ldiffer 2lnt7momer9back291>>>>>>>>>>>HE_n=P3GE_00000000000007000007000000"s3ev9ss=2line"9name="l_dcacdft poi 2las9fro 391eee   up_write>>>>>a he>(
n>>>>>>>>>>>>>>>>>>>>3ealPitevass="s7fsize" clsealPitevastp_> *>>>>>>>>>>>>>>>toPitevf">L11estllbacktoPitevstp_ href="+codpr7v_ef=7le/spa5"s3e9s6=2line"9name="llllllmnc  @coleee916re"91=2lin>>>>>>>>} href="+codpr7v_ef=7le/spa5"s3e9s7=2line"9name="l111111nc  @coleee9s  e"91  ref">n>>>>>>e>(onnaevn cdj;0xitt;0x_zone" clt">ofs/ntzone", ent">"+coda219 / 0, >>>>>ass=31ine" nampan>);ass=2line" name="53" 2lasev_;iveeee9eeeee92las>bmef"7ntfsr id="_pos" elass="strass=2line" name="53" 2lasev_;ir *>>>>>>>>>>>>>>>toPitevf">L11estllbacktoPitevstp_ href="+codpr7v_ef=7le/spa5"s3e9ls=2line"9 id="L1222222222>>>>>>>>9>>>>>92 whoshref="+codpr7v_ef=7le/spa5"s3e9ls=2line"9 id="L1222222222>>>>>>>>9>>>>>922 ref">n>>>>>>e>(19 / 0,   639/a>  92likely>>>>>nepos" elass="strtotalPitevass="s7fsize" cltotalPitevastp_done_z].
L11estllbacktoPitevstp_ href="+codpr7v_ef=7le/spa5"s3e9ls=2line"9ze924 ref">n>>>>>>e>(19 / 0, >>>>>>9>>>>>92 when __  ref53" 2la_free()         HILoop ovone" clremainstri"unsa" istriasref"8afs/ncs/ntf8"value,"ano href="+co3e=buf3 s7ef">z7ne_sta7" 2l9ls=2line"9c#L1++123" 3lass >>>>>>>9>>>>>92 ent">ofs/ntf7"000000007t2 href="+co3e=buf3 s7ef">z7ne_sta7" 2l92c.c#L1199 id="L11c3alloc. name="L91">  92lasssref">zone_a> 12119 / 0,   92"7"cl(fe>>>>>>>>>>>>>>F3ss/nvfs/l3nnalloc.c#L2odekfsr )ing for stp_back" class=7"cnnalloc7">f">zonR>>>>>>ass=pos" elass="strass=2line" name="53" 2lasev_;i! * a>++s" elass="stri"sr7ecnnalloc7lcn "ss-s="sref">rls7ze  9251">  643lass=31iss=31ine" nampan>);nnoteeeeeeee   errfsr )nnoteeee_1    /a> *  91219 / 0,odekfsr )ing for stp_po="stri"sr7tot; sr )ing for stp"s/nHOLE="stri"sr7tot;<"s/nHOLE/ 0,   93   3goeve(unsig href="" c3r )ing for stpVCN>>>>Nol" 2ce leVCNeeeee>>>>>>>>>>>>>>Fhr+code=rlsize" clasref"> href="+codpr7v_ef=7le/spa5"s3e9classrt_l9n "722222222        94   (93 whoshref="+codpr7v_ef=7le/spa5"s3e9cs=2line"9n "70" 2lass name="L91">  93   3goeve(unsigigned=bmp_>e>(ntg%llx, start_lcn7"7e/span>
  93>>>>>>>>>>>HE_n=P3GE_CA3HE_SHclass="sr  ref5hr+code=rlsize" clasref">done_z].
 href="+codpr7v_ef=7le/spa5"s3e9cs=2line"9e34/a>(verror>>>>>>ass=31ine" nr79pag.="st7> ofk>>>>>>ass=31ine" nam href=zone_find">ofk>>>>>> stp_pos" elass="strai>>>>Nol" 2ce lefierrora>>>>>>>>>>>>>>Fhr+code=rlsize" clasref">pos" elass="stri">a >>>>Nol" 2ce le>a eeeeow"(;
<7 href7e/span>
, veeeeeeeeeeee9eeee 93=2lin>>>>>>>>>>>>>>Leavass=in" name="L179">erreezones, repagnfsr ))i____1    /a> *  91219 / 0, >>>>>>>>>>>>>UnmouncLabmPrun=ch>>>>>>>>>>>>>>Feeeeeeeeee   ENOSPCfsr ihreda>>>>>>>>>>>>>FPen=___led=tolrollbackPen=____1    /a> *  91219 / 0, w"(;
<7 href7e/span>
, veeeeeeeeeeee9eeee 93>>>>>>>>>>>>>>>>>>>c3" 2las>(, la09=2line" name="L16Add run9ist c9351">  64   3goeve(unsigpan>);
>>>>>>>>>>>>>>3" 2lef="" class="sref">neeeeeeeestart, , regbfsr , >>>>>>>>>>>>>>>>>>>>>>>>>>>Failed=tolrollback (errora      )> csize" classsref">zone_a> 12la_f7oc.c#L183" id="Ldirty cl7lllll7llllllllls"9ps=2line"9=31ine" namlikelyeeeeeee9eeee 9351">  643lass=31ine" namcounceeeeeeeeeeeen>);
     )> csize" classsref">onnotnhave the mccsu7oc.c#L183" id="Ldirty cl7lllll7llllllllls"918"c#L92"9>ass=31ine" nampan>);
   3goeve(unsig href="" c);
     )> csize" classsref">fone_a> 12findl7oc.c#L183" id="Ldirty cl7lllll7llllllllls"91lassrt_l9>ass=31ine" nampan>);
     )> csize" classsref">subseque mconnotnha7oc.c#L183" id="Ldirty cl7lllll7llllllllls"91s=2line"9>ass=31ine" nampan>);
   3goeve(unsigigned=bmp_pos" clarrrrrrrr     )> csize" classsref">, sta7=f"7done_zo- 1] w"(;
<7 href7e/span>
(>>>>>>>>>>>>>Feee_pag7s=29ine" 7ame=eee_pag_end href="+codpr7v_ef=7le/spa5"s3e91oc.c#L_s9=31ine" namlikelyeeeeeee9eeee 94reeeeeeeeeeee   ef">verror>>>00000000000007000007000000"s3ev9loc.c#L1295" 3lass=31ine" namneed_9riteb94=2lin>>>>>>>>>>>>>>Leavass=in" name="L179">erreennoteeeeeeee   errfsr )nnoteeee_1    /a> *  91219 / 0,odekfsr )ing for stp_po="stri"sr7tot; sr )ing for stp"s/nHOLE="stri"sr7tot;<"s/nHOLE/ 0, vee94=2lin>>>>>>>>>>>>>>UnmouncLabmPrun=chart, , >>>>>>>>>>>>>>>>>>c3" 2las>(>>>>>>>>>>>>>>3" 2lef="" class="sref">neeeeeeeestart, , regbfsr , >>>>>>>>>>>>>>>>>>>>>>>>>>>Failed=tolrollback (errora      )> csize" classsref">Rnnotnha, sta7=H7oc.c#L183" id="Ldirty cl7lllll7llllllllls"91lla09EMd="he          4   (ug9td ag9451">  64   3goeve(unsigpan>);
     )> csize" classsref">hasainvalidoF" H7oc.c#L183" id="Ldirty cl7lllll7llllllllls"91s=2line"9 id="L91lass=31ine" namn9ed_wr9451">  643lass=31ine" namcounceeeeeeeeeeeen>);
     )> csize" classsref">(reaPAGE_CA)f"7done_zo- 1].
zone_"95"s3evene34/a>(bmef"7ntfsr id="_________________________________________rlsize0c#L2vef"7sref
vunma9d agn95eee   err2lsizing forrrrrrrrr(unsig href="" c/a> *  91219 / 0,odekfsr )ing for stp_po="stri"sr7tot;
<7 href7e/span>
(   3goeve(unsigigned=bmp_pos" cla>>>>>>>>>>>>>>Feeeeeeeeee   ENOSPCfsr ihred"+code=bmp_poef="IOeeeeeee   ENOSP"IO_end href="+codpr7v_ef=7le/spa5"s3e92a5" 3las9=31ine" namlikelyeeeeeee9eeee 95>>>>>>>>>>>HE_n=P3GE_CA3HE_SHIFT"+codgo 12>>>>>>>>>>>>>>Feee_pag7s=29ine" 7ame=eee_pag_end href="+codpr7v_ef=7le/spa5"s3e92oc.c#L_s9e" name="L179">up_writee9eeeee95reeeeeeeeeeee   ef">verror>>>00000000000007000007000000"s3ev92oc.c#L129estart, veeee9eeeee95=2lin>>>>>>>>>>>>>>Le00000000000007000007000000"s3ev92s=2line"9returnc>ass=31ine" nampa9>);
<95=2lin>>>>>>>>>>>>>>Un>e>(ofs/ntf8rent">c_z_lcn fevn f7"fs/lc>ntg%llx, start_lcn7"7e/span>
(>>>>>>>>>>>>>>>>>>c3>>>>>>>>>>>>>>>toPitevf">L11estllbacktoPitevstp_done_z].
f">zo href="+codpr7v_ef=7le/spa5"s3e92lla09a>, verroreeeeeee9eeee 95");
);ass=2line" name="53" 2lasev_;i>>>>>ass=pos" elass="strtoPitevf">L11estllbacktoPitevstp_d>>>>>>>>>>>>>Fass=2line" name="53" 2lasev_;_zo- 1].
>>>>>>>>>>>>>>>9>>>>>9551">  643lass=31ine" namc>>>>>>>>>>>>>>>toPitevf">L11estllbacktoPitevstp_done_z].
);
 href="+codpr7v_ef=7le/spa5"s3e9flassrt_l9int7estart, , repagnfsr  e hrea hrefne" name="L179=pag7">  91219 / 0,odekfsr )ing for stp_po="stri"sr7tot;l96   3goeve(unsigigned=bmp_>e>(ofs/ntf8rene>c_z>ntg%llx, start_lcn7"7e/span>
>>>>>>>>>>HE_n=P3GE_CA3HE_SHclass="sr  ref5eeeeeeeeee   ENOSPCfsr ihreda>>>>>>>>>>>>>Feeeeebitla__pagnbitatneeeeebitla__pagnbitat>>>Nol" 2ce le/spa7"+vi_endpos" elass="stri"sr7ecnnalloc7lcn "odekfsr )ing for stp_po="stri"sr7tot;L11estart, vee96oeve(unsig href="" class="sref">neeeeCA3HE_SHc>>>>>>>>>>>>>>toPitevf">L11estllbacktoPitevstp_pos" elass="stri"eeeeeeeeee   errfsr )i____1    /a> *>>>>96=2lin>>>>>>>>>>>>>>Leavass=in" name="L179">erreennoteeeeeeee   errfsr )nnoteeee_1    /a> *rls7ze>>>>96=2lin>>>>>>>>>>>>>>UnmouncLabmPrun=chart, >>>>96>>>>>>>>>>>>>>>>>>>c3" 2las>(>>>>>>>>>>>>>>3" 2lef="" class="sref">neeeeeeeestart, , regbfsr , >>>>>>>>>>>>>>>>>>>>>>>>>>>Failed=tolrollback (errora      )> csize" classsref">zone_a> 12clearl7oc.c#L183" id="Ldirty cl7lllll7llllllllls"9olla09id=2"L1000000000000000009name=9651">  64   3goeve(unsigpan>);
     )> csize" classsref">subseque mconnf"7done_zo- 1] w"(;
<7 href7e/span>
  643lass=31ine" namcounceeeego 12>>>>>>>>>>>>>>Feee_pag7s=29ine" 7ame=eee_pag_end href="+codpr7v_ef=7le/spa5"s3e9hr.c#L29"97" 2lass=2line" name="L19Deeba97las>bmef"7ntfsr id="_________00000000000007000007000000"s3ev9"2TA"9estart, veeee9eeeee97eee   err2lsizing forrrrrrrrrce>(
,    3goeve(unsigigned=bmp_>>>>>>>>>>>>>>F3ealPitevass="s7fsize" clsealPitevastp_>+one_z].
L11estllbacktoPitevstp_ href="+codpr7v_ef=7le/spa5"s3e9end"prev_95" 3lass=31ine" namerr2e9eeeee97>>>>>>>>>>>HE_n=P3GE_00000000000007000007000000"s3ev9lloc.c#L29" id="L2estart, ver97eee   up_write>>>>>a he>(ofs/ntzone", ent">"+coda219 / 0, 
>>>>>>>>>>>>>Less=31ine" nampan>);ass=2line" name="53" 2lasev_;i
>>>>>>>>>>>>>Unned=bmp_>>>>>>>>>>>>>>Fass=2line" name="53" 2lasev_;ir *>>>>>>>>>>>>>>>toPitevf">L11estllbacktoPitevstp_ href="+codpr7v_ef=7le/spa5"s3e9clasref">9one_zL11estart, >>>>>>>>>>>>href="+codpr7v_ef=7le/spa5"s3e9clla095"s3evene34/a>(  64   3goevehe>(>>totaladlasr_st_re7="+coda219 / 0,   643lass=31i>>>>>>>>>>>>>>>totalPitevass="s7fsize" cltotalPitevastp_d+one_z].
L11estllbacktoPitevstp_ href="+codpr7v_ef=7le/spa5"s3e9r)TA"9estart, vfree9eeeee9eeeee   ef">vf00000000000007000007000000"s3ev9cl} 1ine"9cn quot;
erreeeeeeeeeeee   errfsr )i____1    /a> *, veeee9eeeee9eeeeee     ref">n>>>>>me="L179">erreenpg href="" class="srefnpg href    /art, 
<7 href7e/span>
98 ent"href="+codpr7v_ef=7le/spa5"s3e9lloc.c#L291111111111111111(">  64<9a>   9goeve(unsig hrsr )ing for stpBUG_ON>>>>Nol" 2ce leBUG_ON stp_">lc_zones,ass=2line" name="53" 2lasev_;i 0_start <7 href7"+code=zone9c.estart<9a>,  <7 href7"+code=zone9crev_ef=_9ass=31ine" namERR_PTRe_z9nes>>>>>>>>>>>>he>(
9span ceback" cl7lf=_le/d9721n>>>>>>>>>>>>>>>>>>>>eeeee>>>>>>>>>Nol" 2ce left atleba, err = -ENOSPC, first free size"Dlas."7done_zo- 1] w"(;
<7 href7e/span>
(<9pan ceback" cl7lquot;verror>>>3g_zonos" elass="stri"sealPitevass="s7fsize" clsealPitevastp_ href="+codpr7v_ef=7le/spa5"s3e9ss=2line"9name="/*13an c_zone" cla9uot;098eback>>>>>>>>>>>>>>Feee_pag7s=29ine" 7ame=eee_pag_end:href="+codpr7v_ef=7le/spa5"s3e9ss=2line"9name="l* __  ref53" 2la_9reelo99   3goeve" name="L179">erreeionevn c_zoef="" class="srionevn c_zodone_zo- 1].
19 / 0, <+code=i_siz3"7cla357>/*
9ss=2line"9name="l* @gned _vcn:11vc9cin t992 ref">n>>>>>>e>(19 / 0, >>>>>>>>>>HEart, rls7zeerreenpg href="" class="srefnpg href    /art, 
<7 href7e/span>
>>>>>>>>>>>>>Le3g_zonos" elass="stri"ri"r7l000000007>19 / 0, <+code=i_siz3"7cla357>/*
9srev_ef=_9name="l*evn c_zone" clas9ot;0x99>>>>>>>>>>>>>00000000000007000007000000"s3ev9ss=2line"9name="l16Free @counc 53"92las 99  ref">n>>>>>>e>(19 / 0, z7ne_sta7" 2l9ss=2line"9name="l*evn c_zone" clas9ot;0x99 ent">ofs/ntf8e" classs8t_lcccccccccHIIzoevn c_zo fones,f"7t_ cla7>doneIf" cls flag, emit"an eeestarref="+co3e=buf3 s7ef">z7ne_sta7" 2l10ss=2line"10ss=2="l*evn c_zone" clas10ss=>10ssent">ofs/ntf8e" classs8t_lcccccccccHImessage,"anoirctmayfot;0f" cla="st> href="+c/pre>co3e=buf3 s7ef">z7ne_sta7" 2l10s1=2line"10same="l* @ni:111111111  10sam>10s whose runlist describes theccccccccHoda219 / 0, ntfsrs" elass="stri"deltaass="stri"sr7lrteltastp_reda>>>>>>>>>>>>>Fy abmPrestoresPitevf">L11estllbacky abmPrestoresPitev stp_pos" elass="strai>>>>Nol" 2ce lefierrora>>>>>>>>>>>>>>F, ent">off">L11estllback  ent">ofstp_pos" elass="stri"totalPitevass="s7fsize" cltotalPitevastp_pos" elass="stri">a >>>>Nol" 2ce le>a eeeeras" elass="stri"truvf">L11estllbacktruvf="now"(;
<7 href7e/span>
10s>>>>>>>>>>>HEart 0_s-s="sref">rls7zeerree3" 2lef="" class="sref">neeeeeeeestart, , regbfsr , >>>>>>>>>>>>>>>>>>>>>>>>>>>Failed=tolrollback (errora      )> csize" classsref">zone_a> 12evn c_zo IF" cla7nrt_lc. ILeav/lc27oc.c#L183" id="Ldirty cl7lllll7llllllllls"10s5=2line"10same="l* @is_rollback:1110sam>10s=2lin>>>>>>>>>>>>>>Leavass=incoame 2lc     )> csize" classsref">inHE_Sisen mImetadata!  Unmref"8and/onna7oc.c#L183" id="Ldirty cl7lllll7llllllllls"10s6=2line"10same="l*evn c_zone" clas10sam>10s=2lin>>>>>>>>>>>>>>UnmouncLabmPrun=ch>     )> csize" classsref">chkdskf"7done_zo- 1]._(intf">lc_zones,deltaass="stri"sr7lrteltastp_ow"(;
<7 href7e/span>
10s>>>>>>>>>>>>>>>>>>>c3>>>>>>>>>>>>>>>NVolSetE" clsass="stri"sr7lrNVolSetE" clsart, , regbfsr , >>>>>>>>ow"(;
<7 href7e/span>
10sef">verror>>>00000000000007000007000000"s3ev10s9=2line"10same="l*evn c_zone" clas10sam>10s>>>(errora   >>>>>>>>>>>>>>>npg href="" class="srefnpg href    /art, 
<7 href7e/span>
10na ref">n>>>>>>>>>>>>>>>>>>>>eeeeeef="" class="sref">neeeeeeeestart, , regbfsr , >>>>>>>>>>>>>>>>>>>>>>>>>>>Failed=tolrollback (errora      )> csize" classsref">As=">ot; IF" cla7nrt_lc."7done_zo- 1]._pos" elass="stri"sr7/lcnalloc7c#L183" Wenllocntfsc#L1172s/nt72allolfs/lc10n1=2line"10name="l* bef" clreturnas10nam>10neee   err2lsi3g_zonos" elass="stri"ri"r7l000000007>19 / 0, <+code=i_siz3"7cla357>/*
10n2=2line"10name="lr)returastx onLam10nam>10nc7bme00000000000007000007000000"s3ev1013=2line"10name="ldiffer 2lnt7momer10nam>10n ent"href="+codpr7v_ef=7le/spa5"s3e10n4=2line"10name="l_dcacdft poi 2las10nam>10noeve(#endart>e>(19 / 0, 
Tt;0origid>
 LXR softwareabyfot;09 / 0, LXR one"unityerroraent">experi" cl>
 versionabyf9 / 0, 

/xs.x wux.no kindly hosendabyf9 / 0, ot; and/operationsf"7rvicesf"i czo1995.