linux/fs/ocfs2/refcounttree.c
<<
>>
Prefs
   1/* -*- mode: c; c-basic-offset: 8; -*-
   2 * vim: noexpandtab sw=8 ts=8 sts=0:
   3 *
   4 * refcounttree.c
   5 *
   6 * Copyright (C) 2009 Oracle.  All rights reserved.
   7 *
   8 * This program is free software; you can redistribute it and/or
   9 * modify it under the terms of the GNU General Public
  10 * License version 2 as published by the Free Software Foundation.
  11 *
  12 * This program is distributed in the hope that it will be useful,
  13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15 * General Public License for more details.
  16 */
  17
  18#include <linux/sort.h>
  19#include <cluster/masklog.h>
  20#include "ocfs2.h"
  21#include "inode.h"
  22#include "alloc.h"
  23#include "suballoc.h"
  24#include "journal.h"
  25#include "uptodate.h"
  26#include "super.h"
  27#include "buffer_head_io.h"
  28#include "blockcheck.h"
  29#include "refcounttree.h"
  30#include "sysfile.h"
  31#include "dlmglue.h"
  32#include "extent_map.h"
  33#include "aops.h"
  34#include "xattr.h"
  35#include "namei.h"
  36#include "ocfs2_trace.h"
  37
  38#include <linux/bio.h>
  39#include <linux/blkdev.h>
  40#include <linux/slab.h>
  41#include <linux/writeback.h>
  42#include <linux/pagevec.h>
  43#include <linux/swap.h>
  44#include <linux/security.h>
  45#include <linux/fsnotify.h>
  46#include <linux/quotaops.h>
  47#include <linux/namei.h>
  48#include <linux/mount.h>
  49
  50struct ocfs2_cow_context {
  51        struct inode *inode;
  52        struct file *file;
  53        u32 cow_start;
  54        u32 cow_len;
  55        struct ocfs2_extent_tree data_et;
  56        struct ocfs2_refcount_tree *ref_tree;
  57        struct buffer_head *ref_root_bh;
  58        struct ocfs2_alloc_context *meta_ac;
  59        struct ocfs2_alloc_context *data_ac;
  60        struct ocfs2_cached_dealloc_ctxt dealloc;
  61        void *cow_object;
  62        struct ocfs2_post_refcount *post_refcount;
  63        int extra_credits;
  64        int (*get_clusters)(struct ocfs2_cow_context *context,
  65                            u32 v_cluster, u32 *p_cluster,
  66                            u32 *num_clusters,
  67                            unsigned int *extent_flags);
  68        int (*cow_duplicate_clusters)(handle_t *handle,
  69                                      struct file *file,
  70                                      u32 cpos, u32 old_cluster,
  71                                      u32 new_cluster, u32 new_len);
  72};
  73
  74static inline struct ocfs2_refcount_tree *
  75cache_info_to_refcount(struct ocfs2_caching_info *ci)
  76{
  77        return container_of(ci, struct ocfs2_refcount_tree, rf_ci);
  78}
  79
  80static int ocfs2_validate_refcount_block(struct super_block *sb,
  81                                         struct buffer_head *bh)
  82{
  83        int rc;
  84        struct ocfs2_refcount_block *rb =
  85                (struct ocfs2_refcount_block *)bh->b_data;
  86
  87        trace_ocfs2_validate_refcount_block((unsigned long long)bh->b_blocknr);
  88
  89        BUG_ON(!buffer_uptodate(bh));
  90
  91        /*
  92         * If the ecc fails, we return the error but otherwise
  93         * leave the filesystem running.  We know any error is
  94         * local to this block.
  95         */
  96        rc = ocfs2_validate_meta_ecc(sb, bh->b_data, &rb->rf_check);
  97        if (rc) {
  98                mlog(ML_ERROR, "Checksum failed for refcount block %llu\n",
  99                     (unsigned long long)bh->b_blocknr);
 100                return rc;
 101        }
 102
 103
 104        if (!OCFS2_IS_VALID_REFCOUNT_BLOCK(rb)) {
 105                ocfs2_error(sb,
 106                            "Refcount block #%llu has bad signature %.*s",
 107                            (unsigned long long)bh->b_blocknr, 7,
 108                            rb->rf_signature);
 109                return -EINVAL;
 110        }
 111
 112        if (le64_to_cpu(rb->rf_blkno) != bh->b_blocknr) {
 113                ocfs2_error(sb,
 114                            "Refcount block #%llu has an invalid rf_blkno "
 115                            "of %llu",
 116                            (unsigned long long)bh->b_blocknr,
 117                            (unsigned long long)le64_to_cpu(rb->rf_blkno));
 118                return -EINVAL;
 119        }
 120
 121        if (le32_to_cpu(rb->rf_fs_generation) != OCFS2_SB(sb)->fs_generation) {
 122                ocfs2_error(sb,
 123                            "Refcount block #%llu has an invalid "
 124                            "rf_fs_generation of #%u",
 125                            (unsigned long long)bh->b_blocknr,
 126                            le32_to_cpu(rb->rf_fs_generation));
 127                return -EINVAL;
 128        }
 129
 130        return 0;
 131}
 132
 133static int ocfs2_read_refcount_block(struct ocfs2_caching_info *ci,
 134                                     u64 rb_blkno,
 135                                     struct buffer_head **bh)
 136{
 137        int rc;
 138        struct buffer_head *tmp = *bh;
 139
 140        rc = ocfs2_read_block(ci, rb_blkno, &tmp,
 141                              ocfs2_validate_refcount_block);
 142
 143        /* If ocfs2_read_block() got us a new bh, pass it up. */
 144        if (!rc && !*bh)
 145                *bh = tmp;
 146
 147        return rc;
 148}
 149
 150static u64 ocfs2_refcount_cache_owner(struct ocfs2_caching_info *ci)
 151{
 152        struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
 153
 154        return rf->rf_blkno;
 155}
 156
 157static struct super_block *
 158ocfs2_refcount_cache_get_super(struct ocfs2_caching_info *ci)
 159{
 160        struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
 161
 162        return rf->rf_sb;
 163}
 164
 165static void ocfs2_refcount_cache_lock(struct ocfs2_caching_info *ci)
 166{
 167        struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
 168
 169        spin_lock(&rf->rf_lock);
 170}
 171
 172static void ocfs2_refcount_cache_unlock(struct ocfs2_caching_info *ci)
 173{
 174        struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
 175
 176        spin_unlock(&rf->rf_lock);
 177}
 178
 179static void ocfs2_refcount_cache_io_lock(struct ocfs2_caching_info *ci)
 180{
 181        struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
 182
 183        mutex_lock(&rf->rf_io_mutex);
 184}
 185
 186static void ocfs2_refcount_cache_io_unlock(struct ocfs2_caching_info *ci)
 187{
 188        struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
 189
 190        mutex_unlock(&rf->rf_io_mutex);
 191}
 192
 193static const struct ocfs2_caching_operations ocfs2_refcount_caching_ops = {
 194        .co_owner               = ocfs2_refcount_cache_owner,
 195        .co_get_super           = ocfs2_refcount_cache_get_super,
 196        .co_cache_lock          = ocfs2_refcount_cache_lock,
 197        .co_cache_unlock        = ocfs2_refcount_cache_unlock,
 198        .co_io_lock             = ocfs2_refcount_cache_io_lock,
 199        .co_io_unlock           = ocfs2_refcount_cache_io_unlock,
 200};
 201
 202static struct ocfs2_refcount_tree *
 203ocfs2_find_refcount_tree(struct ocfs2_super *osb, u64 blkno)
 204{
 205        struct rb_node *n = osb->osb_rf_lock_tree.rb_node;
 206        struct ocfs2_refcount_tree *tree = NULL;
 207
 208        while (n) {
 209                tree = rb_entry(n, struct ocfs2_refcount_tree, rf_node);
 210
 211                if (blkno < tree->rf_blkno)
 212                        n = n->rb_left;
 213                else if (blkno > tree->rf_blkno)
 214                        n = n->rb_right;
 215                else
 216                        return tree;
 217        }
 218
 219        return NULL;
 220}
 221
 222/* osb_lock is already locked. */
 223static void ocfs2_insert_refcount_tree(struct ocfs2_super *osb,
 224                                       struct ocfs2_refcount_tree *new)
 225{
 226        u64 rf_blkno = new->rf_blkno;
 227        struct rb_node *parent = NULL;
 228        struct rb_node **p = &osb->osb_rf_lock_tree.rb_node;
 229        struct ocfs2_refcount_tree *tmp;
 230
 231        while (*p) {
 232                parent = *p;
 233
 234                tmp = rb_entry(parent, struct ocfs2_refcount_tree,
 235                               rf_node);
 236
 237                if (rf_blkno < tmp->rf_blkno)
 238                        p = &(*p)->rb_left;
 239                else if (rf_blkno > tmp->rf_blkno)
 240                        p = &(*p)->rb_right;
 241                else {
 242                        /* This should never happen! */
 243                        mlog(ML_ERROR, "Duplicate refcount block %llu found!\n",
 244                             (unsigned long long)rf_blkno);
 245                        BUG();
 246                }
 247        }
 248
 249        rb_link_node(&new->rf_node, parent, p);
 250        rb_insert_color(&new->rf_node, &osb->osb_rf_lock_tree);
 251}
 252
 253static void ocfs2_free_refcount_tree(struct ocfs2_refcount_tree *tree)
 254{
 255        ocfs2_metadata_cache_exit(&tree->rf_ci);
 256        ocfs2_simple_drop_lockres(OCFS2_SB(tree->rf_sb), &tree->rf_lockres);
 257        ocfs2_lock_res_free(&tree->rf_lockres);
 258        kfree(tree);
 259}
 260
 261static inline void
 262ocfs2_erase_refcount_tree_from_list_no_lock(struct ocfs2_super *osb,
 263                                        struct ocfs2_refcount_tree *tree)
 264{
 265        rb_erase(&tree->rf_node, &osb->osb_rf_lock_tree);
 266        if (osb->osb_ref_tree_lru && osb->osb_ref_tree_lru == tree)
 267                osb->osb_ref_tree_lru = NULL;
 268}
 269
 270static void ocfs2_erase_refcount_tree_from_list(struct ocfs2_super *osb,
 271                                        struct ocfs2_refcount_tree *tree)
 272{
 273        spin_lock(&osb->osb_lock);
 274        ocfs2_erase_refcount_tree_from_list_no_lock(osb, tree);
 275        spin_unlock(&osb->osb_lock);
 276}
 277
 278static void ocfs2_kref_remove_refcount_tree(struct kref *kref)
 279{
 280        struct ocfs2_refcount_tree *tree =
 281                container_of(kref, struct ocfs2_refcount_tree, rf_getcnt);
 282
 283        ocfs2_free_refcount_tree(tree);
 284}
 285
 286static inline void
 287ocfs2_refcount_tree_get(struct ocfs2_refcount_tree *tree)
 288{
 289        kref_get(&tree->rf_getcnt);
 290}
 291
 292static inline void
 293ocfs2_refcount_tree_put(struct ocfs2_refcount_tree *tree)
 294{
 295        kref_put(&tree->rf_getcnt, ocfs2_kref_remove_refcount_tree);
 296}
 297
 298static inline void ocfs2_init_refcount_tree_ci(struct ocfs2_refcount_tree *new,
 299                                               struct super_block *sb)
 300{
 301        ocfs2_metadata_cache_init(&new->rf_ci, &ocfs2_refcount_caching_ops);
 302        mutex_init(&new->rf_io_mutex);
 303        new->rf_sb = sb;
 304        spin_lock_init(&new->rf_lock);
 305}
 306
 307static inline void ocfs2_init_refcount_tree_lock(struct ocfs2_super *osb,
 308                                        struct ocfs2_refcount_tree *new,
 309                                        u64 rf_blkno, u32 generation)
 310{
 311        init_rwsem(&new->rf_sem);
 312        ocfs2_refcount_lock_res_init(&new->rf_lockres, osb,
 313                                     rf_blkno, generation);
 314}
 315
 316static struct ocfs2_refcount_tree*
 317ocfs2_allocate_refcount_tree(struct ocfs2_super *osb, u64 rf_blkno)
 318{
 319        struct ocfs2_refcount_tree *new;
 320
 321        new = kzalloc(sizeof(struct ocfs2_refcount_tree), GFP_NOFS);
 322        if (!new)
 323                return NULL;
 324
 325        new->rf_blkno = rf_blkno;
 326        kref_init(&new->rf_getcnt);
 327        ocfs2_init_refcount_tree_ci(new, osb->sb);
 328
 329        return new;
 330}
 331
 332static int ocfs2_get_refcount_tree(struct ocfs2_super *osb, u64 rf_blkno,
 333                                   struct ocfs2_refcount_tree **ret_tree)
 334{
 335        int ret = 0;
 336        struct ocfs2_refcount_tree *tree, *new = NULL;
 337        struct buffer_head *ref_root_bh = NULL;
 338        struct ocfs2_refcount_block *ref_rb;
 339
 340        spin_lock(&osb->osb_lock);
 341        if (osb->osb_ref_tree_lru &&
 342            osb->osb_ref_tree_lru->rf_blkno == rf_blkno)
 343                tree = osb->osb_ref_tree_lru;
 344        else
 345                tree = ocfs2_find_refcount_tree(osb, rf_blkno);
 346        if (tree)
 347                goto out;
 348
 349        spin_unlock(&osb->osb_lock);
 350
 351        new = ocfs2_allocate_refcount_tree(osb, rf_blkno);
 352        if (!new) {
 353                ret = -ENOMEM;
 354                mlog_errno(ret);
 355                return ret;
 356        }
 357        /*
 358         * We need the generation to create the refcount tree lock and since
 359         * it isn't changed during the tree modification, we are safe here to
 360         * read without protection.
 361         * We also have to purge the cache after we create the lock since the
 362         * refcount block may have the stale data. It can only be trusted when
 363         * we hold the refcount lock.
 364         */
 365        ret = ocfs2_read_refcount_block(&new->rf_ci, rf_blkno, &ref_root_bh);
 366        if (ret) {
 367                mlog_errno(ret);
 368                ocfs2_metadata_cache_exit(&new->rf_ci);
 369                kfree(new);
 370                return ret;
 371        }
 372
 373        ref_rb = (struct ocfs2_refcount_block *)ref_root_bh->b_data;
 374        new->rf_generation = le32_to_cpu(ref_rb->rf_generation);
 375        ocfs2_init_refcount_tree_lock(osb, new, rf_blkno,
 376                                      new->rf_generation);
 377        ocfs2_metadata_cache_purge(&new->rf_ci);
 378
 379        spin_lock(&osb->osb_lock);
 380        tree = ocfs2_find_refcount_tree(osb, rf_blkno);
 381        if (tree)
 382                goto out;
 383
 384        ocfs2_insert_refcount_tree(osb, new);
 385
 386        tree = new;
 387        new = NULL;
 388
 389out:
 390        *ret_tree = tree;
 391
 392        osb->osb_ref_tree_lru = tree;
 393
 394        spin_unlock(&osb->osb_lock);
 395
 396        if (new)
 397                ocfs2_free_refcount_tree(new);
 398
 399        brelse(ref_root_bh);
 400        return ret;
 401}
 402
 403static int ocfs2_get_refcount_block(struct inode *inode, u64 *ref_blkno)
 404{
 405        int ret;
 406        struct buffer_head *di_bh = NULL;
 407        struct ocfs2_dinode *di;
 408
 409        ret = ocfs2_read_inode_block(inode, &di_bh);
 410        if (ret) {
 411                mlog_errno(ret);
 412                goto out;
 413        }
 414
 415        BUG_ON(!(OCFS2_I(inode)->ip_dyn_features & OCFS2_HAS_REFCOUNT_FL));
 416
 417        di = (struct ocfs2_dinode *)di_bh->b_data;
 418        *ref_blkno = le64_to_cpu(di->i_refcount_loc);
 419        brelse(di_bh);
 420out:
 421        return ret;
 422}
 423
 424static int __ocfs2_lock_refcount_tree(struct ocfs2_super *osb,
 425                                      struct ocfs2_refcount_tree *tree, int rw)
 426{
 427        int ret;
 428
 429        ret = ocfs2_refcount_lock(tree, rw);
 430        if (ret) {
 431                mlog_errno(ret);
 432                goto out;
 433        }
 434
 435        if (rw)
 436                down_write(&tree->rf_sem);
 437        else
 438                down_read(&tree->rf_sem);
 439
 440out:
 441        return ret;
 442}
 443
 444/*
 445 * Lock the refcount tree pointed by ref_blkno and return the tree.
 446 * In most case, we lock the tree and read the refcount block.
 447 * So read it here if the caller really needs it.
 448 *
 449 * If the tree has been re-created by other node, it will free the
 450 * old one and re-create it.
 451 */
 452int ocfs2_lock_refcount_tree(struct ocfs2_super *osb,
 453                             u64 ref_blkno, int rw,
 454                             struct ocfs2_refcount_tree **ret_tree,
 455                             struct buffer_head **ref_bh)
 456{
 457        int ret, delete_tree = 0;
 458        struct ocfs2_refcount_tree *tree = NULL;
 459        struct buffer_head *ref_root_bh = NULL;
 460        struct ocfs2_refcount_block *rb;
 461
 462again:
 463        ret = ocfs2_get_refcount_tree(osb, ref_blkno, &tree);
 464        if (ret) {
 465                mlog_errno(ret);
 466                return ret;
 467        }
 468
 469        ocfs2_refcount_tree_get(tree);
 470
 471        ret = __ocfs2_lock_refcount_tree(osb, tree, rw);
 472        if (ret) {
 473                mlog_errno(ret);
 474                ocfs2_refcount_tree_put(tree);
 475                goto out;
 476        }
 477
 478        ret = ocfs2_read_refcount_block(&tree->rf_ci, tree->rf_blkno,
 479                                        &ref_root_bh);
 480        if (ret) {
 481                mlog_errno(ret);
 482                ocfs2_unlock_refcount_tree(osb, tree, rw);
 483                ocfs2_refcount_tree_put(tree);
 484                goto out;
 485        }
 486
 487        rb = (struct ocfs2_refcount_block *)ref_root_bh->b_data;
 488        /*
 489         * If the refcount block has been freed and re-created, we may need
 490         * to recreate the refcount tree also.
 491         *
 492         * Here we just remove the tree from the rb-tree, and the last
 493         * kref holder will unlock and delete this refcount_tree.
 494         * Then we goto "again" and ocfs2_get_refcount_tree will create
 495         * the new refcount tree for us.
 496         */
 497        if (tree->rf_generation != le32_to_cpu(rb->rf_generation)) {
 498                if (!tree->rf_removed) {
 499                        ocfs2_erase_refcount_tree_from_list(osb, tree);
 500                        tree->rf_removed = 1;
 501                        delete_tree = 1;
 502                }
 503
 504                ocfs2_unlock_refcount_tree(osb, tree, rw);
 505                /*
 506                 * We get an extra reference when we create the refcount
 507                 * tree, so another put will destroy it.
 508                 */
 509                if (delete_tree)
 510                        ocfs2_refcount_tree_put(tree);
 511                brelse(ref_root_bh);
 512                ref_root_bh = NULL;
 513                goto again;
 514        }
 515
 516        *ret_tree = tree;
 517        if (ref_bh) {
 518                *ref_bh = ref_root_bh;
 519                ref_root_bh = NULL;
 520        }
 521out:
 522        brelse(ref_root_bh);
 523        return ret;
 524}
 525
 526void ocfs2_unlock_refcount_tree(struct ocfs2_super *osb,
 527                                struct ocfs2_refcount_tree *tree, int rw)
 528{
 529        if (rw)
 530                up_write(&tree->rf_sem);
 531        else
 532                up_read(&tree->rf_sem);
 533
 534        ocfs2_refcount_unlock(tree, rw);
 535        ocfs2_refcount_tree_put(tree);
 536}
 537
 538void ocfs2_purge_refcount_trees(struct ocfs2_super *osb)
 539{
 540        struct rb_node *node;
 541        struct ocfs2_refcount_tree *tree;
 542        struct rb_root *root = &osb->osb_rf_lock_tree;
 543
 544        while ((node = rb_last(root)) != NULL) {
 545                tree = rb_entry(node, struct ocfs2_refcount_tree, rf_node);
 546
 547                trace_ocfs2_purge_refcount_trees(
 548                                (unsigned long long) tree->rf_blkno);
 549
 550                rb_erase(&tree->rf_node, root);
 551                ocfs2_free_refcount_tree(tree);
 552        }
 553}
 554
 555/*
 556 * Create a refcount tree for an inode.
 557 * We take for granted that the inode is already locked.
 558 */
 559static int ocfs2_create_refcount_tree(struct inode *inode,
 560                                      struct buffer_head *di_bh)
 561{
 562        int ret;
 563        handle_t *handle = NULL;
 564        struct ocfs2_alloc_context *meta_ac = NULL;
 565        struct ocfs2_dinode *di = (struct ocfs2_dinode *)di_bh->b_data;
 566        struct ocfs2_inode_info *oi = OCFS2_I(inode);
 567        struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
 568        struct buffer_head *new_bh = NULL;
 569        struct ocfs2_refcount_block *rb;
 570        struct ocfs2_refcount_tree *new_tree = NULL, *tree = NULL;
 571        u16 suballoc_bit_start;
 572        u32 num_got;
 573         507<7Eass="sref">num_got;
meta_ac =                  4755               goto ip_dyn_features & OCFS2_HAS_REFCOUNT_FL));
        }
 4775rb = (struct  4785       treCFS2_I(inode);
ip_dyn_featref">meta_ac = .c#L4ULL" class="ass="ass="ass="ass="ass="2 569                         5     57#L550" id="L550" class="line" name="L550"> 4805       if (ra>;
ocfs2_serve_ass=ss="ee.csref">rees(struct rsref" = tree1f">tree);
N4ULL" class="ass="ass="ass="ass="ass="> 4815               ) {
ret);
;
 4855       }
 4865ra>;
NULL;
(struct treeCFS2_I(ref_bh) {
NL498" id="L498" class="line" name="L4985> 4885       /58wn_read" class="sref">down_read(/ocfs2/refcounttree.c#L56block" class="srefPTR_ERRode=inode" clasPTR_ERRsref" = NL2" id="L482" class="line" name="L4825> 569 span class="comment">   5     58f_root_bh" class="sref">ref_root_bh<>(ret);
   5     59     struct    5     591nttree.c#L515" id="L515" class="line" name="L515"> 4925span class="comment">   5     5 Here " id="L515" class="line" name="L515"> 4835span class="comment">   5     59="sref">ret = ocfs2_journalsrecess_ref="+code=ocfs2_ocfs2_journalsrecess_resref" = NeeCFS2_I(inode);
delete_tree 4945span class="comment">   5     59ct ref_root_bh   5     595 class="sref">ref_bh) {
   5     59wn_write" class="sref">down_write(ret);
;
 569                        <5 href59#L550" id="L550" class="line" name="L5506> 5006                       <6 href60lass="sref">ra>;
ocfs2/rim=ss="ee.cree(struct NeeCFS2_I(Nee1f">tree);
(st*   6 href6"+code=delete_tree" class="sreeeeeeeeeeee>tree);
;
tree);
   6"fs/o6fs2/refcounttree.c#L50ass="sreeeeeeeeeeee>tree);
meta_ac = ref_bh) {
ret);
/*
;
   6     60unttree.c#L477" id="L477" class="line" name="L4776> 5076span class="comment">   6     60#L538" id="L538" class="line" name="L5386> 5086span class="comment">   6     60="sref">ret = NULL, *(struct treeCFS2_I(meta_ac = rwe->N481" id="L481" class="line" name="L4816> 5106                       <6 href6"+code=ocfs2_refcount_a>;
brelse((ret);
NULL;
inode);
(meta_ac = ra>;
(struct ino>tree);
N">rf_ci, tree->N82" id="L482" class="line" name="L4826> 5076       if (ret = ocfsjournalsrecess_cfs2/refcounttree">ocfsjournalsrecess_cfsref" = Nee>tree);
N">rf_ci, tree->N+" id="L550" class="line" name="L5506> 5196               ref_root_bhN82" id="L482" class="line" name="L4826> 5206       }
ret) {
brelse((ret);
.ree.c#L559" id="L559" class="line" name="L5596> 5266oid ra>;
ocfs2_refcount_block *)ref_root_bhNf">b_data;
rb = (struct );
->i_sb);
rize
rizec#L482" id="L482" class="line" name="L4826> 5186
ret = ref_root_bh(code=rf_generation" class="sref">rf_generationfs2/refcosls/ocfs2/refcounttronfs2/refcosls/unt_block" class="srefcpusreflee=suballoc_bit_stcpusreflee=ret);
Nss="sref">rf_generatac_/refcosls/ocfs2/refcounttac_/refcosls/c#L482" id="L482" class="line" name="L4826> 5306               ra>;
rf_generationfs2/refcoock_refcount_tree(st*ret = rf_generationfs2/refcobicfs2/refcounttreionfs2/refcobicunt_block" class="srefcpusreflee=suballoc_bit_stcpusreflee=ret);
u32 rf_generationfsn)) {
trss="sref">rf_generatfsn)) {
ret = rf_generationhref="fs/ocfs2/refcounttree.c#L5block" class="srefcpusrefle;
);
meta_ac = occode=rf_generation" class="sref">rf_generatione" nade=tree" class="sre" naunt_block" class="srefcpusreflee=num_got" class=cpusreflee=sref"182" id="L482" class="line" name="L4826> 5256       code=rf_generation" class="sref">rf_generationrecordrees(struct ionrecordr cla.ref">rf_generatilne" nade=tree" class="lre" naunt_bl" id="L482" class="line" name="L4826> 5266
cpusreflee=suballoc_bit_stcpusreflee=ret);
ocfsf_root_bhrecs_per_cfsref" = trss="sref">rf_generatde=tree" class="se.c#L5682" id="L482" class="line" name="L4826> 5276rb = (struct  *)ino>tree);
osb_rf_lockk *)ret = rf_generation)) {
trss="sref">rf_generatd_nextn)) {
tr++2" id="L482" class="line" name="L4826> 5196
spin_lock(ino>tree);
osb_rf_lockk *)ret = ocfsjournalsdirt+code=node" clas">ocfsjournalsdirt+sref" = Nee->N82" id="L482" class="line" name="L4826> 5426       struct ret = ino>tree);
ip_dyn_featk *)N82" id="L482" class="line" name="L4826> 5346       while ((ocde=OCFS2_I" class="sreflass="sref">ip_dyn_features & OCFS2_SB());
ref="+code=ocfs2_dinode>i_sb);
ip_dyn_features & ra>;
i_sb);
meta_ac = rb = (struct (ino>tree);
ip_dyn_featk *)N82" id="L482" class="line" name="L4826> 5186                        6     6(unsig" id="L482" class="line" name="L4826> 5196meta_ac = <rettreCFS2_I(meta_ac = ret = ocfsjournalsdirt+code=node" clas">ocfsjournalsdirt+sref" = Nee->ret
 may nb-trsi
/*<6span>6 * 6reate6a refcount tree for an inode.t; and oce.c#L559" id="L559" class="line" name="L5596> 5576span class="comment"> * 6e tak65"sref">rb = (struct N">rf_ci, rb->rf_generation)) {
 */6/span65="sref">ret = tree->NeeCFS2_I(meta_ac = ref_root_bhN">rf_ci, ret = ino>tree);
osb_rf_lockk *)u32 NULL;
(struct tree->meta_ac = .r If.c#L556" id="L556" class="line" name="L5566> 5566       struct 
ra>;
NU>treeT_FL" class="sref">OC"+code=NULL" class="sref">N">rf_ci, ;
N">rf_ci, ) {
N1" id="L561" class="line" name="L5616> 5726        *)tree->N12" id="L482" class="line" name="L4826> 5636        507<7Eass="sref">num_goo" classsertate_refcount_tree(struct tree->N12" id="L482" class="line" name="L4826> 5646               ocspin_lock(ino>tree);
osb_rf_lockk *)NULL, *t2" id="L482" class="line" name="L4826> 5566       }
) {
N1" id="L561" class="line" name="L5616> 5676ocfsf_root_bhfs2/kput(tree);
ra>;
(struct tree->NL2" id="L482" class="line" name="L4826> 4816               ref_bh) {
N481" id="L481" class="line" name="L4816> 4846               goto ino>tree);
N">rf_ci, trL2" id="L482" class="line" name="L4826> 4756       }
/*
, N12" id="L482" class="line" name="L4826> 4866/68="sref">ret = N82" id="L482" class="line" name="L4826> 5696span class="comment">   6     68ass="sref">rw = N4" id="L482" class="line" name="L4826> 4906span class="comment">   6     69     struct sref" = N4ULL" class="ass="ass="ass="ass="ass=6> 4916span class="comment">   6     69og_er" id="L482" class="line" name="L4826> 4926span class="comment">   6     69f_root_bh" clreturn/a> =    6     69c#L554" id="L554" class="line" name="L5546> 4946span class="comment">   6     69#L555" id="L555" class="line" name="L5556> 4856span class="comment">   6     695 cla_refcount_tree" class="sref">ocfset_te_refcount_tree(struct inode *inode,
   6     69wn_write" class="sreffffffffffffffffffffss="sref">buffer_head *di_bh)
)
;
rw;
ra>;
handle = NULL;
   7 href70s2_refcount_tree" class="sref">ocfs2_refc*di = (struct ocfs2_dinode *)di_bh->b_data;
   7"fs/o7fs2/refcounttr" class="sref">ocfs2_inode_info *oi = OCFS2_I(inode);
ocfs2_super *osb = OCFS2_SB(inode->i_sb);
   7code=7cfs2_unlock_ress="sref">buffer_head *di_bh)
)_rootf="+code=b_data" ca>)_rootf="f">NULL;
   7s="co7ment">/*ocfs2_refcount_block *rb;
   7     70s2_inode_info" class="sref">ocfs2_inode_ite_refcount_tree(struct )
)_nt_tree(struct a>)_nt_t#L570" id="L570" class="line" name="L5707>75067s      if (   7     70="sref">ret = ip_dyn_features & OCFS2_HAS_REFCOUNT_FL));
ra>;
ocfsef">ite_refcount_tree(struct ite_refcount_tsref" = tree->brrrrrrrrrrrrrrrrrrrrrrrr>tree);
)_nt_tree(struct a>)_nt_t#L57ee>tree);
)_rootf="+code=b_data" ca>)_rootf="f">N4ULL" class="ass="ass="ass="ass="ass 7> 5127               ) {
ret);
 = rb = (struct NULL;
(struct treeCFS2_I(retref_bh) {
NL498" id="L498" class="line" name="L4987> 5197               NL2" id="L482" class="line" name="L4827> 5207       }
;
ret);
brout;
occode=ocfs2_get_refcount_tree" class="sref">ocfs2_journalsrecess_ref="+code=ocfs2_ocfs2_journalsrecess_resref" = NeeCFS2_I(inode);
delete_tree() {
ret);
;
ret = ocfsjournalsrecess_cfs2/refcounttree">ocfsjournalsrecess_cfsref" = Nee>tree);
)_nt_tree(struct a>)_nt_t#L57">rf_ci, tree->)_rootf="+code=b_data" ca>)_rootf="f">N0" id="L560" class="line" name="L5607> 5227               ref_bh) {
ret);
;
ret = ocfs2_refcount_block *)ref_root_bh)_rootf="+code=b_data" ca>)_rootf="f">Nf">b_data;
ss="saddhref="+code=rb" class="saddhrefrettree);
rf_generatione" nade=tree" class="sre" naunt_, 182" id="L482" class="line" name="L4827> 5407       struct ret = ocfsjournalsdirt+code=node" clas">ocfsjournalsdirt+sref" = Nee->)_rootf="+code=b_data" ca>)_rootf="f">N82" id="L482" class="line" name="L4827> 5227       struct ret = ino>tree);
ip_dyn_featk *)N82" id="L482" class="line" name="L4827> 5347       while ((ocde=OCFS2_I" class="sreflass="sref">ip_dyn_features & OCFS2_SB());
ref="+code=ocfs2_dinode>i_sb);
ip_dyn_features & ra>;
i_sb);
rb = (struct (ino>tree);
ip_dyn_featk *)N82" id="L482" class="line" name="L4827> 5187                        7     74="sref">ret = ocfsjournalsdirt+sref" = Nee->;
ret = ocfssefcicuntanrees(struct tree->NL2" id="L482" class="line" name="L4827> 5427       }
 507<7Eass="sref">num_goo" clalock(struct tree->(struct a>)_nt_t#L57ee182" id="L482" class="line" name="L4827> 5547ocbrL532"+code=NULL" clbrL532sref" = )_rootf="f">N82" id="L482" class="line" name="L4827> 5257span class="comment">/*<7span>7 * 7reate756ass="sref">rreturn/a> =  * 7e tak75"sref7" id="L477" class="line" name="L4777> 5187span class="comment"> */7/span75unsig" id="L482" class="line" name="L4827> 5597tatic int ocfremoveate_refcount_tree(struct inode *inode,
buffer_head *di_bh)
ret;
u32 handle = NULL;
ocfs2_super *<*di = (struct ocfs2_dinode *)di_bh->b_data;
buffer_head *oi = OCFS2_I(inode);
/*ocfs2_refa href="+code=osb" class="sref">osb = OCFS2_SB(inode->i_sb);
ocfs2_inode_ite_refcouck *rb;
ocfs2_i="+code=inode" class="sref">inode,
NULL;
ocfs2_i/a> *di_bh)
NULL;
ocfs2_i/a> *di_bh)
NULL;
r" class="sref">ocfs2_inode_ite_refcount_tree(struct )
)_nt_tree(struct a>)_nt_t#L570" id="L570" class="line" name="L5707> 5717       ret;
OCFS2_SB(u32 ->meta_ac = c#L5blo0ee->)_href="fs/ocfs2/refcouenttree.c#L5block" class="srefleinode-> 507<7Eass="sref">num_goue=suballoc_bit_stue=ret->re!" = ip_dyn_features & OCFS2_HAS_REFCOUNT_FL));
ret = ->)_href="fs/ocfs2/refcouenttree.c#L568" id="L567" class="line" name="L56+7> 5597                        7     77ount_tree_get" class="sref">cocfs2/refcounttree.c#L56block" class="sref">ocfsef">ite_refcount_tree(struct ite_refcount_tsref" = tree->N68" id="L567" class="line" name="L56+7> 4807       if (r">ref_bh) {
brf_bh) {
ret);
/*ocfs2_refcount_block *)ref_root_bhNf">b_data;
rb ="fs/ocfs2/refcounttree.c#L556" id="L556" class="line" name="L5567> 4887       /78      */
tru="r,="fsneedsto treeft..c#L556" id="L556" class="line" name="L5567> 5597span class="comment">   7     78s2_reount tree for an inode.t; and oc So
 may t   7     79     ount tree for an inode.t; and oce.c#L559" id="L559" class="line" name="L5597> 4917span class="comment">   7     79og_errno" claet) {
rb->rf_generatione" nade=tree" class="sre" naunt_)blLL1481" id="L481" class="line" name="L4817> 4927span class="comment">   7     79f_root_bh" class="sres="line" name="blk+code=b_data" cblkc#L5block" class="srefleinode->rf_generationhref="fs/ocfs2/refcounttree.c#L582" id="L482" class="line" name="L4827> 5637span class="comment">   7     79fs2_refcount_tree_put = inode->rf_generationsub/refcouicfs2/refcounttreionsub/refcouicc#L582" id="L482" class="line" name="L4827> 4847span class="comment">   7     79fs2_unlock_refcount_t">ref_bh) {
rf_generationsub/refcoock_refcount_tree   7     79de=out" classssssssssssssssss->meta_ac = c#L5block" class="srefleinode->rf_generationsub/refcoock_refcount_tree   7     79wn_write" class="srefL532" id="L482" class="line" name="L4827> 4777       if (meta_ac = c#L5block" class="srefode=rewhichnsub/refcogroup> *)inode->->NULL;
tre" id="L482" class="line" name="L4828> 5008                       <8 href80     struct tre" id="L482" class="line" name="L4828>15008 pan class="comment">   8 href80else" class="sref">brrrrrrrrrrrrrrrrrrrrrrrrock" class="srefle16inode->rf_generationsub/refcoslocfs2/refcounttreionsub/refcosloc.c#L442" id="L482" class="line" name="L4828>25008 pan class="comment">   8"fs/o80f_root_bh" class="sre">re!a>;
N481" id="L481" class="line" name="L4818> 5038   8code=80fs2_unlock_refcount_trrrrrrrock" class="sref (ret);
   8s="co80de=out" classssssssssssssssssout;
   8     80wn_write" class="sref7" id="L477" class="line" name="L4778>75068s      if ( *)N>i_sb);
Nee>tree);
Nee182" id="L482" class="line" name="L4828> 5108                       <8 href81     struct ref_bh) {
brrrrrrrrrck" class="sref (ret);
;
OCFS2_SB(ret = NULL;
(struct treeCFS2_I((struct creditr"sre82" id="L482" class="line" name="L4828>95088               rw = NL498" id="L498" class="line" name="L4988> 5208       }
;
NL2" id="L482" class="line" name="L4828> 5218a href="+code=out" class8"sref82else" class="sref">brck" class="sref (ret);
(/*ocfs2_journalsrecess_ref="+code=ocfs2_ocfs2_journalsrecess_resref" = NeeCFS2_I(inode);
delete_treeref_bh) {
ret);
u32 ocfsjournalsrecess_cfs2/refcounttree">ocfsjournalsrecess_cfsref" = Nee>tree);
)_nt_tree(struct a>)_nt_t#L57">rf_ci, ->N0" id="L560" class="line" name="L5608> 5238ref_bh) {
ret);
spin_k *)ino>tree);
ip_dyn_featk *)N82" id="L482" class="line" name="L4828> 5408       struct ra>;
ip_dyn_features & ));
ret = i_sb);
ip_dyn_features & u32 i_sb);
ret = ino>tree);
ip_dyn_featk *)N82" id="L482" class="line" name="L4828> 5348       while ((ocd>ocfsjournalsdirt+code=node" clas">ocfsjournalsdirt+sref" = Nee->ra>;
rf_generatione" nade=tree" class="sre" naunt_ , -182" id="L482" class="line" name="L4828> 5278               rb = (struct ocfsjournalsdirt+code=node" clas">ocfsjournalsdirt+sref" = Nee->N68" id="L567" class="line" name="L56+8> 5188                        8     84unsig" id="L482" class="line" name="L4828> 5198rw!->rf_generatione" nade=tree" class="sre" naunt_)b1" id="L481" class="line" name="L4818> 5508               ;
brck" class="sref">ocfseraseate_refcount_t_from_lis> *treeCFS2_I()_nt_tree(struct a>)_nt_t#L5768" id="L567" class="line" name="L56+8> 5428       }
ocfsf="srsub/refcouicrees(struct Nee->Ne" id="L567" class="line" name="L56+8> 5438
Nee->->meta_ac = c#L5ee182" id="L482" class="line" name="L4828> 5548ref_bh) {
/*<8span>85de=out" classssssssssssssssss->ret);
 * 8reate85unttree.c#L477" id="L477" class="line" name="L4778> 5578span class="comment"> * 8e tak85#L538" id="L538" class="line" name="L5388> 5188span class="comment"> */8/span85unsiga>;
(struct tree->NL2" id="L482" class="line" name="L4828> 5608                        8     86node"a>;
) {
N481" id="L481" class="line" name="L4818> 5628       int Nee182" id="L482" class="line" name="L4828> 5638       N82" id="L482" class="line" name="L4828> 5548       struct a>;
) {
N481" id="L481" class="line" name="L4818> 5578       struct (N>i_sb);
N82" id="L482" class="line" name="L4828> 5598       struct ;
ret = ocfslock(struct tree->(struct a>)_nt_t#L57ee182" id="L482" class="line" name="L4828> 5628       u32) {
);
ocbrL532"+code=NULL" clbrL532sref" = N68" id="L567" class="line" name="L56+8> 4758               goto rreturn/a> = ocfsfindef_root_bhrent="_rlees(struct ocfs2_refcachinga> * *)
ocfs2_i/a> *di_bh)
)_leaff="+code=b_data" ca>)_leaff=""#L5e" id="L482" class="line" name="L4828> 5718               brrrrrrrrrrrrrrrrrrrrrrrrrrrbh)
;
ocfs2_iode=ref_root_bhrenfs2/refcounttreode=ref_root_bhrenf">di_bh)
bhrenfs2/refcounttrea>bhren"#L5e" id="L482" class="line" name="L4828> 5638               /*;
O0ULL" class="ass="ass="ass="ass="ass=8> 4868ocfs2_inode_ite_refcouck *rb;
ocfs2_refcount_block *)ref_root_bh)_leaff="+code=b_data" ca>)_leaff=""#L5f">b_data;
/8882_inode_info" class="sref">ocfs2_iode=ref_root_bhrenfs2/refcounttreode=ref_root_bhrenf">di_bh)
nfs2/refcounttrea>kc#L5block" class="sreffs/ocfs2/refcounttree.c#L564" id="L564" class="line" name="L5648> 5598span class="comment">   8     88#L550" id="L550" class="line" name="L5508> 4908span class="comment">   8     89     struct OCode=tree" class="sref"<" class="sref">OCle16inode->rf_generationa>kordrees(struct iona>kordr cla.ref">rf_generatil_useef="+code=di_bh"il_useef">N68 class="sref">OCode=tree" class="sref++481" id="L481" class="line" name="L4818> 4918span class="comment">   8     89else" class="sref">brck" class="srefa>nfs2/refcounttrea>kc#L5blo>tree);
rf_generationa>kordrees(struct iona>kordr cla.ref">rf_generatil_a>krees(struct il_a>kr cla[class="sref">OCode=tree" class="sref]4" id="L564" class="line" name="L5648> 4928span class="comment">   8     89Here " id="L515" class="line" name="L5158> 5638span class="comment">   8     89fs2_refcount_tree_putet) {
inode->nfs2/refcounttrea>kc#L5ss="sref">rf_generati_cporees(struct i_cporf">N48+" id="L515" class="line" name="L5158> 4848span class="comment">   8     89fs2_unlock_refcount_t">brck" class="sref/a>(rb->rf_generati_clusterrees(struct i_clusterrf">N48<"lock" class="srefcporees(struct cpor#L578" id="L482" class="line" name="L4828> 4858span class="comment">   8     89de=out" classsssssssssssssssscontinue4" id="L564" class="line" name="L5648> 4868span class="comment">   8     89wn_write" class="srefL532tet) {
inode->nfs2/refcounttrea>kc#L5ss="sref">rf_generati_cporees(struct i_cporf">N48s="sock" class="srefcporees(struct cpor#L578" id="L482" class="line" name="L4828> 5678       if (k. Justrreturn.oce.c#L559" id="L559" class="line" name="L5599> 5009                       <9 href90     struct ref_bh) {
bhren"#L58" id="L482" class="line" name="L4829>15009 pan class="comment">   9 href90else" class="sref">brrrrrrrrr_bh)
bhrenfs2/refcounttrea>bhren"#L5blo_bh)
nfs2/refcounttrea>kc#L54" id="L564" class="line" name="L5649>25009 pan class="comment">   9"fs/o90f_root_bh" class="sreout;
   9code=90#L555" id="L555" class="line" name="L5559>55039   9s="co90de=out" class">ref_bh) {
bhren"#L5881" id="L481" class="line" name="L4819> 5069span class="comment">   9     90wn_write" class="srefa="fs/ocfs2/refcounttree We meet with id=ole here, so fakeftk. ce.c#L559" id="L559" class="line" name="L5599>75069s      if (bhren"#L5ss="sref">rf_generati_cporees(struct i_cporf">Nblock" class="srefcpusrefle;
);
rf_generati_line" naees(struct i_line" nasref">O0ULL" class="ass="ass="ass="ass="ass=9 95089s                      <9f="+c90f_root_bh" class="sre">ref_bh) {
OCle16inode->rf_generationa>kordrees(struct iona>kordr cla.ref">rf_generatil_useef="+code=di_bh"il_useef">N6o>tree>treeLL" class="ass="ass="ass="ass="ass=9> 5109                       <9 href91     struct inode->nfs2/refcounttrea>kc#L5ss="sref">rf_generati_cporees(struct i_cporf">N48slt" class="sref">OCcporees(struct cpor#L57 +/a>;
brrrrrrrrrck" class="sreff/ohrenfs2/refcounttrea>bhren"#L5ss="sref">rf_generati_clusterrees(struct i_clusterrf">N =LL" class="ass="ass="ass="ass="ass=9> 5129               ) {
inode->nfs2/refcounttrea>kc#L5ss="sref">rf_generati_cporees(struct i_cporf">N48-ock" class="srefcporees(struct cpor#L578eLL" class="ass="ass="ass="ass="ass=9> 5039               goto rf_generati_clusterrees(struct i_clusterrf">N =rck" class="srefcpusrefle           nt_trecpusrefle3="sre/a>) {
;
ret)
rno, exit..c#L556" id="L556" class="line" name="L5569> 5249
ryes, exit..c#L556" id="L556" class="line" name="L5569>55039ount tree for an inode.* 3) Check whetryes, exit..c#L556" id="L556" class="line" name="L5569> 5069oid ;
ocf="+code=inode" class="sref">inode,
ie" id="L482" class="line" name="L4829>95089       if (ocfs2_i/a> *di_bh)
ret;
u32buffer_head *oi = OCFS2_I(inode);
buffer_headinode,
ocfs2_refd="+code=inode" classode=red="sref">inoef">ref_root_bh<="fs/ocfs2/refcounttree.c#L56f">b_data;
ref_root_bh<=own_writtree(struct =own_writt">ino>tree);
ip_dyn_featxaametsem/ocfs2/refcounttatxaametsemc#L567" id="L567" class="line" name="L5679> 5069
ra>;
ino>tree);
ip_dyn_feat/refcosem/ocfs2/refcounttat/refcosemc#L567" id="L567" class="line" name="L5679> 5079retref_bh) {
ip_dyn_featclusterrees(struct eatclusterr#L561" id="L482" class="line" name="L4829>95089
ip_dyn_features & OCFS2_HAS_REXATTRL));
N6o>tree>tree/a> i_sb);
ref_bh) {
ip_dyn_features & OCFS2_HAINLINEEXATTRL));
treeLL" class="ass="ass="ass="ass="ass=9> 5259               ocfs2_refhas_in/ocffxaametvalue_e.csidede=inode" classode=rehas_in/ocffxaametvalue_e.cside">inode);
ret = ocfsremoveite_refcount_tree(struct );
rwa> = ret);
;
u32 ino>tree);
ip_dyn_feat/refcosem/ocfs2/refcounttat/refcosemc#L567" id="L567" class="line" name="L5679> 5439
(struct up_writt">ino>tree);
ip_dyn_featxaametsem/ocfs2/refcounttatxaametsemc#L567" id="L567" class="line" name="L5679> 5549/*<9span>95de=ou7" id="L477" class="line" name="L4779> 5269span class="comment"> * 9reate95#L547" id="L547" class="line" name="L5479> 5579span class="comment"> * 9e tak95ace_oount tree for an inodeee.c#L556" id="L556" class="line" name="L5569> 5189span class="comment"> */9/span95      */
kr["ndex].esref">L.c#L556" id="L556" class="line" name="L5569> 5609                        9     96     ount tree for an inode.*e.c#L559" id="L559" class="line" name="L5599> 5619
bhre_refcoucpor_endree(struct bhre_refcoucpor_endsref"lock" class="sref">ocfs2_refcachinga> * *)
ocfs2_i/a> *di_bh)
)_rootf="+code=b_data" ca>)_rootf=""#L5e" id="L482" class="line" name="L4829> 5439       ocfs2_ii" claexteblock *)di_bh)
tre" id="L482" class="line" name="L4829> 5549       struct ocfs2_ii" claexteblolis> *di_bh)
(struct el">tre" id="L482" class="line" name="L4829> 5259       struct ;
 )
(struct cpor_endsref4" id="L482" class="line" name="L4829> 5269       struct ;
ret = )
(struct cpor#L485" id="L485" class="line" name="L4859> 5199       struct ;
meta_ac = c#L55" id="L485" class="line" name="L4859> 5709       struct ocfs2_isupss=ck *))
ocfsmetaee.cacacheeget_supss *retocfs2_ii" clapat"+code=b_data" ci" clapat""sref_bh)
u32buffer_head(struct buffer_head *di_bh)
(struct tmp_elunt_ULL" class="ass="ass="ass="ass="ass=9> 5549               ref_bh) {
OCle16inode->(struct el">trlass="sref">ip_dyn_fl_nextef="srrenfs2/refcounttrel_nextef="srrenf">N6o- 1) 1" id="L481" class="line" name="L4819> 5569       }
k aft/r index, so justruse t
rb->trlass="sref">ip_dyn_fl_a>krees(struct l_a>kr cla[class="sref">OCondex_refcount_tree<"ndexc#L5+1].ref">rf_generate_cporees(struct e_cpor#L578eLL" class="ass="ass="ass="ass="ass=9> 5719               brreturn/0ULL" class="ass="ass="ass="ass="ass=9> 5629               re!->tr ||ref_bh) {
tr >tree>tree/!->trlass="sref">ip_dyn_fh_nexteleaff=la> *)k, so any high cpor should.c#L559" id="L559" class="line" name="L5599> 5679       /98      */
   9     98f_root_bh" class="sre_bh)
(struct cpor_endsrefblock" class="srefUINT_MAXree(struct UINT_MAXunt_ULL" class="ass="ass="ass="ass="ass=9> 4909span class="comment">   9     99     struct    9     99else" class="7" id="L477" class="line" name="L4779> 4929span class="comment">   9     99Here " id="L515" class="line" name="L5159> 5639span class="comment">   9     99fs2_refcount_a="fs/ocfs2/refcounttree.c#L559" id="L559" class="line" name="L5599> 4849span class="comment">   9     99#L555ount tree for an inode.........e If t   9     99ent">ount tree for an inode.........e t   9     99wn_wrount tree for an inode.........* leaf extebls" cla and get t
(struct ino>tree);
->->)_rootf=""#L58eLL" class="ass="ass="ass="ass="ass=10> 50010> 50                   <10> 5>10> ere " /pre> 5>L" class="ass="ass="ass="ass="ass=10>150010>pan class="comment">   10>pa>10>="sref">ret = ino>tree);
   10>pa>10>="sref">u32->   10>pa>10>fs2_refcount_tree_put =    10>pa>10>fs2_unlock_refcount_t;
ret);
   10>pa>10>de=out" classssssssssout;
   10>pa>10>unttree.c#L477" id="L477" class="line" name="L47710>750010>      if (ret = rb->trlass="sref">ip_dyn_fh_lis> *d.ref">rf_generatl_a>krees(struct l_a>kr cla[class="sref">OCondex_refcount_tree<"ndexc#L5].ref">rf_generate_cporees(struct e_cpor#L578eLL" class="ass="ass="ass="ass="ass=10>950010>                      <10>  >10>92_inode_infoa> = ocfsfindepat"+code=b_data" ci" clafindepat"ret);
->->(struct cpor#L578eLL" class="ass="ass="ass="ass="ass=101 50010                       <10   >10  e=out" class">ref_bh) {
10 else" class="sref">brck" class="sref (ret);
10 f_root_bh" class="sreout;
10 #L555" id="L555" class="line" name="L55510 550010ref_root_bh);
10 6g_errno" claet->10 ace_ocfs2_purge_refcount_trees" clasf/oe=ocfs2_read_refcount_blo- = ret);
10 f_root_bh" class="sreout;
10  s2_refcount_7" id="L477" class="line" name="L477102150010a href="+code=out" class10a h>10 1L555" id="L555" class="line" name="L555102250010       u32 ocfsfindecpor_for_aightaleaf+code=b_data" ci" clafindecpor_for_aightaleafret);
tree);
(struct cpor#L578eLL" class="ass="ass="ass="ass="ass=102350010       return ref_bh) {
10 fs2_unlock_refcount_t;
ret);
10 de=out" classssssssssout;
10 unttree.c#L477" id="L477" class="line" name="L477102750010                        10   >10 #L538" id="L538" class="line" name="L538102850010
ret = ocfsfindepat"+code=b_data" ci" clafindepat"ret);
->->(struct cpor#L578eLL" class="ass="ass="ass="ass="ass=102950010       if (rwa> = 10  s2_unlock_refcount_t;
ret);
10 else" class="sref">brout;
10 f_root_bh" cl7" id="L477" class="line" name="L47710 35001010 ount_unlock" class="sref">ocsubnt_t_rootde=tree" class=subnt_t_root#L48block" class="sref">ocfsfindesubnt_t_rootde=tree" class=">ocfsfindesubnt_t_root">ino>tree);
->10 de=out" classsssssssssssssssssssssssssssssssf">ret = 10 #L547" id="L547" class="line" name="L54710 750010octmp_elees(struct tmp_elunt_ lock" class="sref/aftapat"+code=b_data" cleftapat"unt_lass="sref">ip_dyn_fp_="fs/ocfs2/refcountp_="fs cla[class="sref">OCsubnt_t_rootde=tree" class=subnt_t_root#L48].ref">rf_generatelees(struct el">tr5" id="L485" class="line" name="L485103850010oid ret = meta_ac = c#L5 lock" class="sref/aftapat"+code=b_data" cleftapat"unt_lass="sref">ip_dyn_fp_="fs/ocfs2/refcountp_="fs cla[class="sref">OCsubnt_t_rootde=tree" class=subnt_t_root#L48+1].ref">rf_generatu"+code=b_data" cbc#L56f">b_data;
tr5" id="L485" class="line" name="L485103950010
rwfor (class="sref">OCo_refcount_tree<"c#L5 lo0" class="sref">OCode=tree" class="sref"<" class="sref">OCle16inode->(struct tmp_elunt_lass="sref">ip_dyn_fl_nextef="srrenfs2/refcounttrel_nextef="srrenf">N68 class="sref">OCode=tree" class="sref++481" id="L481" class="line" name="L481104 50010       struct ) {
inode->(struct tmp_elunt_lass="sref">ip_dyn_fl_a>krees(struct l_a>kr cla[class="sref">OCode=tree" class="sref].ref">rf_generate_ref">meta_ac = unt_4 =lock" class="srefref">meta_ac = c#L5481" id="L481" class="line" name="L481104150010       struct brrrrrrrrr_bh)
(struct cpor_endsrefblock" class="sref/a>(rb->ip_dyn_fl_a>krees(struct l_a>kr cla[class="sref">OCode=tree" class="sref+1].ref">rf_generate_cporees(struct e_cpor#L578eLL" class="ass="ass="ass="ass="ass=10 250010       struct 10 fs2_refcount_tree_put7" id="L477" class="line" name="L477104450010       while ((10 a hre" id="L482" class="line" name="L48210 650010ra>;
inode->(struct tmp_elunt_lass="sref">ip_dyn_fl_nextef="srrenfs2/refcounttrel_nextef="srrenf">N68eLL" class="ass="ass="ass="ass="ass=10 750010               10 92_inode_infoa> = );
10  2_inode_infoa> = );
10 else" class="return/a>);
10 f_roo7" id="L477" class="line" name="L477105350010
10 #L555ount tree for an inodeee.c#L559" id="L559" class="line" name="L55910 550010span class="comment">/*<10spa>10 ent">ount tree for an inode.* Given a cpor and len, trysto find tkord whichscontains cporL.c#L556" id="L556" class="line" name="L55610 650010span class="comment"> * 10spa>10 wn_wrount tree for an inode.* 1. If cpor ct tbekord,"return/tkordL.c#L556" id="L556" class="line" name="L55610 750010span class="comment"> * 10spa>10 ace_oount tree for an inode.* 2. If cpor ct 't bekord whichsstart from cporf"#L559" id="L559" class="line" name="L55910 850010span class="comment"> */10spa>10       */
10 s2_reount tree for an inode.*    This fakefa>kord has i_line" na lo0L.c#L556" id="L556" class="line" name="L556106 50010                        10   >10  2_reount tree for an inode.*e.c#L559" id="L559" class="line" name="L55910 150010
bhre_refcourenfs2/refcounttreode=reg>bhre_refcourenretocfs2_refcachinga> * *)
10 f_root_bh" class="sreeeeeeeeeeeeeeeeeee" class="sref">ocfs2_i/a> *di_bh)
)_rootf="+code=b_data" ca>)_rootf=""#L5e" id="L482" class="line" name="L48210 350010       ocfs2_i/an="+code=rb" classn"#L5e" id="L482" class="line" name="L48210 450010       struct ocfs2_refre_refcourenfs2/refcounttreode=rere_refcourenret)
bhrenfs2/refcounttrea>bhren"#L5e" id="L482" class="line" name="L48210 550010       struct )
10 wn_write" class="srefeeeeeeeeeeeeeeeeee" class="sref">ocfs2_i/a> *di__bh)
bh="+code=b_data" ca>te.c#L561" id="L482" class="line" name="L48210 750010       struct 10 ="sref">ret;
10 92_inode_infoa> = )
(struct low_cporc#L5,e->);
10  2_inode_info" class="sref">ocfs2_ii" claexteblolis> *di_bh)
(struct el">tr5" id="L485" class="line" name="L485107150010       retocfs2_ii" claexteblorenfs2/refcounttreode=reexteblorenret)
nfs2/refcounttrea>kc#L5block" class="sreffs/ocfs2/refcounttree.c#L567" id="L567" class="line" name="L56710 250010       u32buffer_head *)di_bh)
trblock" class="sreffs/ocfs2/refcounttree.c#L567" id="L567" class="line" name="L56710 350010       buffer_head *di_bh)
trblock" class="sreffs/ocfs2/refcounttree.c#L56,i_bh)
)_leaff="+code=b_data" ca>)_leaff="">trblock" class="sreffs/ocfs2/refcounttree.c#L567" id="L567" class="line" name="L56710 450010               buffer_head *))
ocfsmetaee.cacacheeget_supss *u32buffer_head *)10 wn_write" class="srefeeeeeeee/lock" class="sref">ocfs2_refre_refcouck *)ref_root_bh)_rootf="+code=b_data" ca>)_rootf=""#L5f">b_data;
10 #L538" id="L538" class="line" name="L538107850010       retre!/a>);
rb->rf_generationflagrees(struct ionflagrc#L548T_FL" class="sref">OCFS2_HAREFCOUNT_TREEL));
N6881" id="L481" class="line" name="L481107950010                        10   >10 f_root_bh" class="srea> = (struct i" clafindere_refcouren_in_rlret);
->)_rootf=""#L5ee->(struct cpor#L57ee->10  n_write" class="srefeeeeeeeeeeeeeeeeee" class="srea> = ;
10 else" class="sref">br_bh)
bh="+code=b_data" ca>te.c#L56block" class="srefte__rootf="+code=b_data" ca>)_rootf=""#L57" id="L567" class="line" name="L567108250010               te.c#L56/a>);
)_rootf=""#L58eLL" class="ass="ass="ass="ass="ass=108350010               10 a hre" id="L482" class="line" name="L482108650010ra>;
trblo>tree);
rf_generationlis> *10 7unt_unlock" class="sref">oclow_cporees(struct low_cporc#L5block" class="srefcporees(struct cpor#L57 T_FL" class="sref">OCFS2_HA32BIT_POS_MASKa>));
10 8 hre" id="L482" class="line" name="L482108950010span class="comment">   10spa>10 ass="sref">rwa> = trlass="sref">ip_dyn_fl_nt_t_dept"+code=b_data" cl_nt_t_dept"c#L5481" id="L481" class="line" name="L481109 50010span class="comment">   10spa>10sp_root_bh" class="sreck" class="srefcode=ocfs2_read_refcount_block" class="sref">ocfsfindeleaf+code=b_data" ci" clafindeleafret);
->(struct el">trefbh)
(struct low_cporc#L5,e>tree);
tr8eLL" class="ass="ass="ass="ass="ass=109150010span class="comment">   10spa>10selse" class="sref">bra> =    10spa>10sf_root_bh" class="sreeeeeeeeea> = ret);
   10spa>10sfs2_refcount_tree_puteeeeeeeeout;
   10spa>10sfs2_unlock_refcount_t7" id="L477" class="line" name="L477109550010span class="comment">   10spa>10sa hre" id="L482" class="line" name="L482109650010span class="comment">   10spa>10swn_write" class="srefah)
trblo/lock" class="sref">ocfs2_refexteblock *)di_)fah)
trf">b_data;
10sace_ocfs2_purge_refcount_trees" claselees(struct el">trblo>tree);
trlass="sref">ip_dyn_fh_lis> *d6" id="L566" class="line" name="L564109850010               if (!10s8 hre" id="L482" class="line" name="L482109950010                       <10   >10sf_root_bh" class="srea> = trlass="sref">ip_dyn_fl_nt_t_dept"+code=b_data" cl_nt_t_dept"c#L5481" id="L481" class="line" name="L48111> 50011> 50                   <11> 5>110 n_write" class="srefeeeeeeeelass="sref">ocfs2_referros *   11>pa>110else" class="sref">brrrrrrrrrount tree forlocing">"line" na nt_t %llu has non zero nt_t ".c#L559" id="L559" class="line" name="L55911>250011>pan class="comment">   11>pa>110f_root_bh" class="sreeeeeeeeeaunt tree forlocing">"dept"    11>pa>11>fs2_refcount_tree_puttttttttt(unsigned long longef">ref_root_bh   11>pa>11>fs2_unlock_refcount_ttttttttt(unsigned long longef">ref_root_bhtrf">b_data;
tr82" id="L482" class="line" name="L48211>550011>pan class="comment">   11>pa>11>de=out" classsssssssseeeeeeeelass="sref">ocff/oe=ocfs2_read_refcount_blo- = d6" id="L566" class="line" name="L56411>650011>pan class="comment">   11>pa>110wn_write" class="srefeeeeeeeeout;
  >110ace_ocfs2_purge_refco7" id="L477" class="line" name="L47711>850011>              if (!  >11>="sref">ret950011>                      <11>  >11>92_in" id="L477" class="line" name="L477111 50011                       <11   >111 2_inode_infoa> = 11 else" class="for (class="sref">OCo_refcount_tree<"c#L5 lo->inode->(struct el">trlass="sref">ip_dyn_fl_nextef="srrenfs2/refcounttrel_nextef="srrenf">N6o- 1" class="sref">OCode=tree" class="sref"&ss=lo0" class="sref">OCode=tree" class="sref--481" id="L481" class="line" name="L481111250011               trlass="sref">ip_dyn_fl_a>krees(struct l_a>kr cla[class="sref">OCode=tree" class="sref]"" id="L477" class="line" name="L477111350011               goto 111="sre" id="L485" class="line" name="L48511 450011       }
(rb->ip_dyn_fe_cporees(struct e_cpor#L578"<"lo->(struct low_cporc#L5481" id="L481" class="line" name="L481111550011ocffound_refcount_tree111wn_write" class="srefeeeeeeeebreak4" id="L564" class="line" name="L564111750011       if (ret11               112 e=out" class">ref_bh) {
112else" class="sref">brck" class="srefcode=ocfs2_read_refcount_block" class="sref">ocfsg>bhre_refcoucpor_endree(struct bhre_refcoucpor_endsref"a>);
->)_rootf=""#L5e" id="L481" class="line" name="L481112250011       brck" class="srefeode=rf_generatioef">tree->(struct el">trefbh)
tree);
(struct cpor_endsref45" id="L485" class="line" name="L485112350011       return 11 fs2_unlock_refcount_tsref">brck" class="sref (ret);
11 de=out" classssssssssssssssssout;
112wn_write" class="sref7" id="L477" class="line" name="L477112750011                        11   >11 #L538" id="L538" class="line" name="L538112850011
reta> = OClow_cporees(struct low_cporc#L5b+e->112f_root_bh" class="sresref">brck" class="sreflen="+code=rb" classn"#L5block" class="srefcpor_endree(struct cpor_endsrefb- class="sref">OClow_cporees(struct low_cporc#L55" id="L485" class="line" name="L485113 50011               1131L555" id="L555" class="line" name="L555113250011               u32 ocfsreadere_refcouck *));
->inode->nfs2/refcounttrea>kc#L5lass="sref">ip_dyn_fe_ref">meta_ac = unt_4e" id="L481" class="line" name="L48111 350011)_leaff="">tr82" id="L482" class="line" name="L48211 450011       a> = 11 de=out" classssssssssck" class="sref (ret);
113wn_write" class="srefout;
11 7unt_unlock" 7" id="L477" class="line" name="L477113850011oid 11392_inode_infoa> = (struct i" clafindere_refcouren_in_rlret);
->)_leaff="">tree->(struct cpor#L57ee->11  e=out" classssssssssssssssssssssssssssssssa>);
;
11 else" class="_bh)
bh="+code=b_data" ca>te.c#L56block" class="srefte__leaff="+code=b_data" ca>)_leaff="">tr7" id="L567" class="line" name="L567114250011       struct 11 fs2_refcount_data;
inode->tr8eLL" class="ass="ass="ass="ass="ass=114450011       while (();
11 a hre7" id="L477" class="line" name="L47711 65001111 #L538enumclass="sref">ocfs2_refre_uren_contig> *)ret = 11 92_inode_infoa> = 11  2_inode_infoa> = 115="sref">ret = 11 f_roo75" id="L485" class="line" name="L485115350011
11 #L555static enumclass="sref">ocfs2_refre_uren_contig> *)/*<11spa>115de=out" classf">ref_root_bhinoss="sref">buffer_head *) * 11spa>115wn_write" class="srefeeeeeeeeeeeeeeeeee;
 * 11spa>115ace_o1" id="L481" class="line" name="L48111 850011span class="comment"> */11spa>115="sref">retre>->rf_generationa>kordrees(struct iona>kordr cla.ref">rf_generatrl_a>krees(struct rl_a>kr cla[class="sref">OCondex_refcount_tree<"ndexc#L5].ref">rf_generati_line" naees(struct r_line" nac#L4 l=LL" class="ass="ass="ass="ass="ass=11 950011tatic int rf_generationa>kordrees(struct iona>kordr cla.ref">rf_generatrl_a>krees(struct rl_a>kr cla[class="sref">OCondex_refcount_tree<"ndexc#L5 + 1].ref">rf_generati_line" naees(struct r_line" nac#L448T_FL"T_FL"LL" class="ass="ass="ass="ass="ass=116 50011                        11   >116 e=out" classssss/a>) {
inode->rf_generationa>kordrees(struct iona>kordr cla.ref">rf_generatrl_a>krees(struct rl_a>kr cla[class="sref">OCondex_refcount_tree<"ndexc#L5].ref">rf_generati_cporees(struct r_cporc#L548+LL" class="ass="ass="ass="ass="ass=116150011
(rb->rf_generationa>kordrees(struct iona>kordr cla.ref">rf_generatrl_a>krees(struct rl_a>kr cla[class="sref">OCondex_refcount_tree<"ndexc#L5].ref">rf_generati_clusterrees(struct r_clusterrc#L548l=LL" class="ass="ass="ass="ass="ass=11 250011       int ) {
inode->rf_generationa>kordrees(struct iona>kordr cla.ref">rf_generatrl_a>krees(struct rl_a>kr cla[class="sref">OCondex_refcount_tree<"ndexc#L5 + 1].ref">rf_generati_cporees(struct r_cporc#L54)6" id="L482" class="line" name="L48211 350011        *)116#L555" id="L555" class="line" name="L55511 550011       struct );
11 wn_wr7" id="L477" class="line" name="L47711 750011       struct 11 ="srestatic enumclass="sref">ocfs2_refre_uren_contig> *)11 92_inode_infoa> = inoss="sref">buffer_head *)117 e=out" classssssssssssssssssssssssssss"t;
11 ="sre1" id="L481" class="line" name="L48111 250011       u32ocfs2_refre_uren_contig> *)117="sre" id="L485" class="line" name="L48511 450011               a> = OCle16inode->rf_generationa>kordrees(struct iona>kordr cla.ref">rf_generatrl_usedree(struct rl_usedc#L548- 16" id="L482" class="line" name="L482117550011               goto 117de=out" classssssssssck" class="srefcode=ocfs2_read_refcount_block" class="sref">ocfsre_refcouren_adjacinod *)inobh)
;
117#L547" id="L547" class="line" name="L54711 750011a> = 117="sref">retocfs2_refre_uren_contig> *) *)11  n_write" class="srefa> ocfsre_refcouren_adjacinod *)inobh)
;
1181L555" id="L555" class="line" name="L555118250011                *)11 fs2_refcount_tree_putass="srea> = brssssssssck" class="srefcode=ocfs2_read_refcount_block" class="srefREF_CONTIG_LEFTRIGHT> *)118de=out" classsssssssssssssssselseLL" class="ass="ass="ass="ass="ass=118650011118ace_ocfs2_purge_refco7" id="L477" class="line" name="L477118850011       ret11span class="comment">   11spa>11892_in" id="L477" class="line" name="L477119 50011span class="comment">   11spa>11sp_root_bh" clreturn/a>);
   11spa>11selse"7" id="L477" class="line" name="L477119250011span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L477119350011span class="comment">   11spa>11sfs2_rstatic voidock" class="sref">ocfsrotateere_refcouren_leftd *)inoss="sref">buffer_head *)   11spa>11sfs2_unlock_refcount_tttttttttttttttttttttttttttt"t;
   11spa>11sa hre1" id="L481" class="line" name="L481119650011span class="comment">   11er_head   11er_head,4_headrf_generati_line" naeA     trblo/lock" class="sre1">ocf12_refexteblock *)xc#L56" id="L482" class="line" name="L482119550011span class="comment">   11spa>11sa hre1" id="L481" class="line" name="L481119650011span class="comment">   11er_head115f_root_bh" class=->1struct el"1trblo>tree);
   11spa>11sa hre1" id="L481" class="line" name="L481119650011span class="comment">   11er_head(rb->oc2lass="line2 name="L482109950010 2     2               <10   >10sf_generatrl_a>krees(struct rl_a>kr cla[class="sref">OCondex_refcount_tree<"ndexc#L5].ref">rf_generati_cporees(struct r_cporc#L548+LL" class="ass="ass="ass="ass="ass=116150011
rb->150011>pasrefREF_CONTIG_NONE> *)117="sre" id="L485" class="line" name="L48511 450011               a> =    11spa>11sa hre1" id="L481" class="line" name="L481119650011span class="comment">   11er_headoc2l4559" id=2Lefcouren_leftd *)unt_unlock" 7" id="L477" class="line" name="L477108550010     ass="comment">   11spa>11sa hre1" id="L481" class="line" name="L481119650011span class="comment">   11er_headoc2l5559" id=2Ln" clae" id="L482" class21>pa>21>fs2_unlock_refcount_ttttttttsizeofa>11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned oc2l6559" id=2Lsfs2_unlock_refcount_ttt250011>pan class="comment">   11>(struct rl_a>kr clss="ass="ass="ass=11 350011       117ount_unlock" a> = 11  n_wri2"d>rettrblo/lock" class="sre2">d6"20/a>);
   21>pa>110wn_write" class="2refee20ass="line" name="L54711 7500memsss="comm11   >118memsss<"ndeunt_unlock" 7" id="L477" class="line" name="L477108550010     ass="comment">   11spa>11sa hre1" id="L481" class="line" name="L481119650011span class="comment">clss="ass="ass="ass=11 350011       117ount_unlock" a> = oc2l9ent">   21rblo>tree);
a> =    11spa>11sfs(struct cpor#L57, unsigned ret850011>       0addstruct rl_a>kr cla[cl/a>addstru<"ndeunt_unlock" 7" id="L477" class="line" name="L477108550010     ass="comment">   11spa>11sa hre1" id="L481" class="linenlock" a> =  *)95002/a>11>                   2  <1121pa>11892_in" id="L477" class="line" name="2a>->(struct el">trla2s="sr21a>11sp_root_bh" clreturn/a>);
10       }
(st2uct el">trlass="sref">ip_2yn_fl21ine" name="L48510525001 * Mergeme="L4851054500(rb<21a href="fs/ocfs2/refco10
15610 950010tatic int 11                        1merge0011span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L477119350011span class="comment">   11spa>11sfs2_rstatic voidock" class="sref">oc2111de=out"2classsssssssseeeeeeeelass2"sref2>ocffound_refcount_treeeeeeeeeeeeeeeeeeeeeehead *)11span class="comment2 id="L564"2class="line" name="L5641127500<21/a>a> = 1177unt_unlock" a> = a>eA     inoss="sr9150011span class= name="L4771ref="+11   >11 ="srestatic enumclass="sref">ocfs2_r" id="L477" class="line" name="L477118 50011       if ( *)11               ocfsg>bh2e_ref22150011>pasrefREF_CONTIG_NONEf="fs/ocfs2/refcou11a>ee=u111   >11 ="sre1" id="L481" class="line" name="L48111 25001_refcouck)
brck" class="sre2eode=2f_generatioef">tree1" class="srefa> a>ee=u111   >11 ="sre1" id="L48s/ocf11   >118de=out" classsssssssssss ||> = a>eunt_bllock" class="srefREF_CONTIG_RIGHT> *);
11  n_weun0e" class="srefa> 11 de=out" classssss2sssss22_refexteblock *)11  n_--" class="srefa> 11 ="sref">ret11       112f_root_bh" clas2="sre23e="L47711>850011>        class="comment">   11spa>11selse"7" id="L477" class="line" name="L477119250011  n_e" class="srefa> OClow_cporees(str2ct low_cpo2c#L55" id="L485" class="l2ne" n23150011>pasrefREF_CONTIG_NONEf="fs/ocfs2/refcou11a>ee=u111   >11 ="sre1" id="L48ONTIG_RIGHT> *)OClow_cporees(str2ceeeee cla2a href="fcode=tree" class2ef"#L2ee->11>        class="comment">   11spa>11selse"7" id="L477" class="line" name="L477119250011  n_e" class="srefa> (st2d="L481" class="line" nam2="L48211 350FT> *));
)_leaff="+code=b_data2 ca>)23eeeeout;
10       }
ret)2
1 * Changeme="L485105450  >11ed byode=met  >11de=met>brr7untbhefcou1010 #L555ount tree for an inodeee.211
113w2_writ2" clasname="L48510525001 * IfL485105450010 #L555ount tree for an inodeee.21/ocfs2/re2#L485" id="L485" class="l2ne" n2me="L4f="fs/ocfs2/refco10
15610 950010tatic int 11sfs(struct cpor#L57, uchange11spa>11sfs11span clas.andles2/refcounttree.andlea>11sfs2_rstatic voidock" class="sref">oc2" name="L422114 50011       stru2t  5>110              >11span class="comment">   1_t "ing_inf8211 450011 ">   1_t "ing_inf819350011span clas href="+code=ocfs211oid>fs2_rstatic voidock" class="sref">oc2"t low_cpo2ss="line" name="L567114152024ucpor_endree(struct bhre_refco>11span class="commentbuffer_heack" a> = 11span class2" class="line" name="L482113950011
oc2"eeeee cla2lock" class="srefte__leaf2="+co24href="11   >11 f_root_bh" claaaaaaaaaaaaaahead *)OClow_cporees(str2ree.c#L4822 id="L522" class="line" n2me="L22211 3="11   >1181L555" id="L555" class="li2else">inod2->118="sref">ret11       while ((11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L477119350011span class="comment">   11spa>11>eA     11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeows2" class="line" name="L482113950011
109650010span class="comment">   10spa>10swn_write" class="srefah)
114#L547" id="2547" 2lass="line" na>11span class="comment">   11spa>11sf/ocfs2/refcounttree">   11spa>11sf/ocf19350011span classt_unlock" 7" id=r   >10 ount_unlock" 7" id="L477" class="line" name="L477108550010     ass="comment">   11spa>11sa hre1" idite" class="srefah)
   11spa>11sfs(struct cpor#L57, unsigned 11span class2rel_nextef="srrenf">N6o- 1" class="sref">OCodest_unlock" 7" id=r   >1"L477108550010   ne" name="L481119650011span class="comment">   11er_headrf_generationa>kordrees(struct ijournal_access_477" class="line"ruct ijournal_access_470011sd1138 hre" id="L482" class="line" name="L482113950011
(struct bhre_refcou138 hre" id="L4class=JOURNAL_ACCESS_WRITclass="line" namclass=JOURNAL_ACCESS_WRITc  n_e" class="srefa> 115="sref">ret2= 113fs2_refcount_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<2F_CONTIG_L2FTRIGHT"#L5e" id="L482" c2ass="25tttttt(unsigned long 11       a> = 11 ="sre" id="L485"2class25>fs2_unlock_refcount_de=oc11   >11 de=out" classssssssssck" class="sref ( *) *) *211spa>115wn_write" class=2srefe25ass="line" name="L54711 7500trace_" claschange11spa>11sfs(struct cpor#trace_" claschange11spa>11sfsrf_generatreeeea   11>pa>110f_root_bh" class="sreeeeeeeeeaunt tree forlocing">"dept" krees" name="L54711 7500uck *)rf_gene2ationa>kordrees(struc2 iona2682" class="line" name="L4821classaddstruct rl_a>kr cla[classaddstru<"ndeunt_unlock" 7" id="L4L477111350011               goto 115f_root_bh" class=->);
1a hr!ss="line" name="L477111350011               goto 115f_root_bh" class=->1"L477108550010   nenlock" a> = N6o-+ 1e" name="L48111>350011>pan class=2dode=rere_2ref="+11   >116#L555" id=2L555"26 *)kr clss="ass="ass="ass=11 350011       1"L477108550010   nenlock" a> = oc2truct 11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned ret118memsss<"ndeunt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   ne" name="L481119650011span class="comment">clss="ass="ass="ass=11 350011       1"L477108550010   nenlock" a> = oc2 a> =    11spa>11sfs(struct cpor#L57, unsigned ret *) *)OClow_cporees(str2ct 117 e=out" classs2sssss27ucpor_endree(strulass="comment">clss=addstruct rl_a>kr cla[cl/a>addstru<"ndeunt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   nenlock" a> =  *)u32ocfs2_refr2_uren27href="11   >1}sssssa>kr cla[class="srefmerge50011      merge00OClow_cporees(str2t_ua> 11                        1merge0011  n_e" class="srefa> 27eeeeout;
ocf27ttttttttttttttttt"t;
11sdnfs2/refcounttrea>kc#L5lass="sref">ip_dyn_fe_ref">meta_ac = inobh)
11 de=out" classssssssssck" class="_bh)
bh="+code=b_data" 2011   2   }
11       ret11        *)ocf22_refre_uren_contig> *)o2fsre_2efcourname="Lhead   1expand_inclas77unt_oof0011span clas.andles2/refcounttree.andlea>11sfs2_rstatic voidock" class="sref">oc2fcouren_ad2acino">inobh)
;
























>11span class="comment">   1_t "ing_inf8211 450011 ">   1_t "ing_inf819350011span clas href="+code=ocfs211oid>fs2_rstatic voidock" class="sref">oc2e" name="L255118250011          2    <2 href="11   >11 f_root_bh" cla















>11span class="commentbuffer_heack" a> = 11span class2" re=out" class11a h>112else" class="sref">brck" class="srefcode=ocfs2_read_2e="L481118250011               <2 href2"11   >11 fs2_refcount_tree_putass="sr







>11span class="commentbuffer_heack" a> = 11span class2" class="line" name="L482113950011
oc250011 2             goto 1182s2_unlock_refcount_tsref">brss















>11span class="comment">   1allosref">exfs2/refcounttree">   1allosref">exf19350011span clas bnt_a/a>(struct cpor# bnt_a/00OClow_cporees(str2ount_block2 class="srefREF_CONTIG_LE2TRIGH2> *)tree<2="ass=118620011118="sref">ret(struct  >118u"L481"ame="L54711 7500suballosrbit_namrs="comm11   >118suballosrbit_namrsref">ret1uc#L55" id="  >118u315001num_gofs2/refcounttreenum_gofref">ret850011>       uporc#L54)6"  >118u6>kreesme="L54711 7500suballosrlos="comm11   >118suballosrlosa>11sdocfsreadere_rcouck>ret11span class="comment2>   12982" class="li>11span class="commentsuper__roo" id="L477" classuper__roo"19350011span classs="line" name="Lsbationa>kordrees(struct i bnt_t nt_t " cget_nuper">"dept" 11span class="comment"2   112922" class="li>11span class="commentbuffer_heack" a> = 11span clasnews="line" name="L48news="ationa>kordrees(stNULLline" name="L48NULL>ret11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L477119350011span clasnewsss="line" name="Lnewsss>ret11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L477119350011span class class="line" name="L4 classationaret11 2on" clae" id="L482" class2"line292_unlock_refcount_tsref">brssa>11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeows2" re=out" class11a h>112else" class="sr109650010span class="comment">   10spa>10swn_write" class="srefah)
   11spa>21sfs2_unlock_refcount_ttt2ttttt29e_refcouren_adjacinod *)trblo/lock" class="sre2">ocf22_refexteblock118="sref"na>kordrees(struct ijournal_access_477" class="line"ruct ijournal_access_470011sd1138 hre" id="L482" re=out" class11a h>112else" class="sref">brck" class="srefcode=ocfs2_read_2Lcode=ocfs2   if ( *)tree);
113fs2_refcount_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<3lass="line3 name="L482109950010 3     3               <10   >11span clas name="L48211 450011       a> = 150011>paFT> *)kordrees(struct icomimf bnt_t n211 450011 ">   1_omimf bnt_t n0011sd(struct cpor# bnt_a/00OCodesuballosrlos="comm11   >118suballosrlosa>11s> *)pa>31>fs2_unlock_refcount_ttttttttttttttttttt" class="sref">OCodesuballosrbit_namrs="comm11   >118suballosrbit_namrsref",1" class="sref">OCodenum_gofs2/refcounttreenum_gofref"s> *)11>pan class="comment">   11>ttttttttttt" class="sref">OCode"sref">ocfsreadere_rcoucka href="+code=ocfs2_read_refcount_4 1"317559" id=3L">trblo/lock" class="sre3">d6"30=rf_generation" clae/a>;
113fs2_refcount_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<3l8559" id=3L  if (11       a> = tree);
a> = 95003/a>11>                   3  <1131srefb- class="sref">OClow_cporees(str3a>->(struct el">trla3s="sr312ttttt(unsignkordrees(stsbcgetcou="line" name="Lsbcgetcouref="+code=oc11   >1ss="line" name="Lsbatiosdocfsreadere_rcoucka href="+code=ocfs2_read_refcount_4 1"3f_root_bh"3class="srebh)
nfs231href="11   >1a href="fs/ocfs2/renews="line" name="L48news="ationaa>kordrees(stNULLline" name="L48NULL_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<3ees(st3uct el">trlass="sref">ip_3yn_fl31tttttt(unsigned long 118="sref"na>-118EIOass="sref (rb<31ode->11 ount_unlock" a> = (struct low_cporc#L5431" id3111>pan class="commentde=oc11   >11 de=out" classssssssssck" class="sref (ocffound_refcFT> *)11       *   1set_news=uffer_upto_t e50011            set_news=uffer_upto_t e37;llu\n".c#L559e" id="L481" class="lisd118ace_o3fs2_purge_3efco7" id="L477" class="l3ne" n32e="L47711>850011>       ass="comm11   >118="sref"na>kordrees(struct ijournal_access_477" class="line"ruct ijournal_access_470011sd1138 hre" id="L4news="line" name="L48news="atios> *) 5>110               138 hre" id="L4class=JOURNAL_ACCESS_CREATclass="line" namclass=JOURNAL_ACCESS_CREATcatioa href="+code=ocfs2_read_refcount_4 1"3efcount_bl3ck" class="sref">ocfsg>bh3e_ref32150011>pasrefREF_CONTIG_NONEfcou11113fs2_refcount_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<3eeeeee cla3s="sref">brck" class="sre3eode=3f_generatioef">tree11 ount_unlock" a> = (st3cpor_endree(struct cp3r_end32tttttt(unsigned long de=oc11   >11 de=out" classssssssssck" class="sref ( *));
11 de=out" classssss3sssss32_refexteblockname="L485105250010       }
1         * Initialize s="line" name="L4771efcou1010 #L555ount tree for an inodeee.3s/ocfs2/re3co11
11 ="sref">ret        * It should ock"ainme="Ls>re inf8rmation asme="Lold " clefcou1010 #L555ount tree for an inodeee.3a href="+c3d11   >112f_root_bh" clas3="sre33e="L4f="fs/ocfs2/refco10
        * so just memcpy it and changeme="Lcorresponding fieldefcou1010 #L555ount tree for an inodeee.3a1119500(struct 3por_e3dsrefbf="fs/ocfs2/refco10
        *5610 950010tatic int (struct cpor# bmcpyref="+code=oc11   >1news="line" name="L48news="atio109650010span class="comment">   10spa>10swn_wr>1138 hre" id="L482" re=out" class11a h>112else" class="sr109650010span class="comment">   10spa>10swn_wr>1138 hre" id="L4ss="line" name="Lsbatio109650010span cls"L4771size="line" name="Ls"L4771size =  *)(st3d="L481" class="line" nam3="L4833tttttt(unsign   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeownews="line" name="L48news="atio109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"3c class="l3f=c>)_leaff="+code=b_data3 ca>)335ttttt(unsign10     suballosrslofs2/refcounttree   suballosrslofref"na>kordrees(stcpu>11 cl/aref="+code=ocfs2pu>11 cl/aref="+code=oc11   >1 bnt_a/a>(struct cpor# bnt_a/0010  ac_allosrslofs2/refcounttreeac_allosrslof = ;
10     suballosrlos="comm11   >118   suballosrlosref"na>kordrees(stcpu>11 clporc#L54)6"  >118cpu>11 clporef="+code=oc11   >1suballosrlos="comm11   >118suballosrlosa>11a href="+code=ocfs2_read_refcount_4 1"3c11de=out"3
10     suballosrbifs2/refcounttree   suballosrbifref"na>kordrees(stcpu>11 cl/aref="+code=ocfs2pu>11 cl/aref="+code=oc11   >1suballosrbit_namrs="comm11   >118suballosrbit_namrsref"a href="+code=ocfs2_read_refcount_4 1"3c" name="L3"fs/ocfs2/refco11
113w3_writ33ass="line" name="L54711 7500newsss="line" name="Lnewsss"L477108550010     "sref">ocfsreadere_r   "srefref"na>kordrees(stcpu>11 clporc#L54)6"  >118cpu>11 clporef="+code=oc11   >1"sref">ocfsreadere_rcoucka href="+code=ocfs2_read_refcount_4 1"31/ocfs2/re3#L485" id="L485" class="l3ne" n33line" name="L53811685001newsss="line" name="Lnewsss"L477108550010     cpoomment">   11spa>11cpooref"na>kordrees(stcpu>11 clc#L55" id="  >118cpu>11 clc#ref="0e" class="srefa> 10     pareoot_bh" class=->  pareooref"na>kordrees(stcpu>11 clporc#L54)6"  >118cpu>11 clporef="+code=oc11   >182" re=out" class11a h>112else" class="sr109650010span clasL4771nr">"dept" a href="+code=ocfs2_read_refcount_4 1"3" name="L432114 50011       stru3t 10     flagomment">   11spa>11flagoref"na>kordrees(stcpu>11 clc#L55" id="  >118cpu>11 clc#ref="138 hre" id="L4class=REFCOUNT_LEAF_FLline" name="L48class=REFCOUNT_LEAF_FLa href="+code=ocfs2_read_refcount_4 1"3"t low_cpo3ss="line" name="L5671141530342ttttt(unsign11sd *)10  Now changeme="L" cle *5610 950010tatic int inod3->10     /ocfs2/refcounttree   /ocfa>11sd0>1138 hre" id="L4ss="line" name="Lsbatio109650010span cls"L4771size="line" name="Ls"L4771size = < -010tatic int pan class="commen11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L47711935>1138 hre" id="L48  /ocfs2/refcounttree   /ocfa>11)d>ret10     /ocfs2/refcounttree   /ocfa>11="L481" class="ll_f_root_bh" class=-&gl_f_rooref"na>kordrees(stcpu>11 cl/aref="+code=ocfs2pu>11 cl/aref="+code=oc11   >1">   1exte      s_per_477" class="line"ruct iexte      s_per_47ref="+code=oc11   >1ss="line" name="Lsbatio)d>ret114#L547" id="3547" 34ass="line" name="L54711 7500a class="line" name="L4 classatio"L477108550010     =rb" class="sref">rbf->kordrees(stcpu>11 clc#L55" id="  >118cpu>11 clc#ref="te" class="srefa> 10     /ocfs2/refcounttree   /ocfa>11="L481" class="ll_next_fmp>fs(struct cpor#l_next_fmp>fskordrees(stcpu>11 cl/aref="+code=ocfs2pu>11 cl/aref="te" class="srefa> 10     /ocfs2/refcounttree   /ocfa>11="L481" class="ll_" name="L4811196500/a>11span c0refcpor_endreeocfsreadere_re "srefref"na>kordrees(stcpu>11 clporc#L54)6"  >118cpu>11 clporef="+code=oc11   >1"sref">ocfsreadere_rcoucka href="+code=ocfs2_read_refcount_4 1"3  name="L43f="+cREF_CONTIG_LEFT"#L5e3 id="3482" class="line" name="L4821c class="line" name="L4 classatio"L477108550010     /ocfs2/refcounttree   /ocfa>11="L481" class="ll_" name="L4811196500/a>11span c0refcpor_endreerbkordrees(stcpu>11 cl/aref="+code=ocfs2pu>11 cl/aref="te" class="srefa> 10     flagomment">   11spa>11flagoref"na>kordrees(stcpu>11 clc#L55" id="  >118cpu>11 clc#ref="138 hre" id="L4class=REFCOUNT_TREE_FLline" name="L48class=REFCOUNT_TREE_FLa href="+code=ocfs2_read_refcount_4 1"3 eeeee cla3"11   >115="sref">ret3=  *)11sd112else" class="sra href="+code=ocfs2_read_refcount_4 1"3 lse">inod311
11 ="sre" id="L485"3class35eeeeout;
;
pa>110f_root_bh" class="sree"sref">ocfsreadere_rcoucks> *)11       10     48511 450011               a> = (struct iona>k3rdr c3a.ref">rf_gene011span class2" class="line" name="L482113950011
na>kordrees(stnews="line" name="L48news="atio href="+code=ocfs2_read_refcount_4 1"3drees(3truct iona>kordr cla.ref"3rf_ge36e="L47711>850011>       news="line" name="L48news="ationa>kordrees(stNULLline" name="L48NULL>retrf_gene3ationa>kordrees(struc3 iona3682" c(struct iona>ko3dr cl362ttttt(unsignocfsreadere_rcrssssref="+code=oc11   >1news="line" name="L48news="atioa href="+code=ocfs2_read_refcount_4 1"3f_generati3na>kordrees(struct io3a>kor36href="11   >1011       ret *)11 fs2_refcount_tree_pu3retur36eeeeout;
116#L555" id=3L555"36L481"name="Lhead   11spa>11sf   1no_in claecf<"nde>11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned 11span claspreva>(struct cpor#prevs> *)11 de=out" cla3sretu36ocffound_refcount_treeeeeeeeeeeeeeeeeeeeeeeeeeee>11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned 11span clasnexfs2/refcounttreenexf1935e- class="sref">OClow_cporees(str3="+cREF_CO3TIG_NONEc#L4"LL" class="a3s="as36code="L482119450011span class="comment3    11spaL57, uget_runt_unllow cpooref="+code=oc11   >1preva>(struct cpor#prev) +a011>       0(struct cpor#prev        goto =rb" class="sref">rb<=rb" claref") <aret *)   11spaL57, uget_runt_unllow cpooref="+code=oc11   >1nexfs2/refcounttreenexf1935ee- class="sref">OClow_cporees(str3hrefaode=r3_generation" clae" id="L432" cl37                  <110111>ret117 e=out" classs3sssss37a>11sp_root_bh" clreturn/a>);
u32ocfs2_refr3_uren37href="11   >10110>ret *)OCle1637eeeeout;
ocf37L481"name="Lhead11sf   1byllow cpoomment">   11spacmp11spa>11sf   1byllow cpooref="const void0011span clascomment">   10spwn_wr>1const void0011span class="line" name="Lb1935e- class="sref">OClow_cporees(str3e_refcoure3_adjacino">inobh)
11span class="comment3011   3   }
11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned 11span clast_unlock" 7" id=   >10 o11span clascomment">   10spwn_wr>1011span classss="sref">rb  >10 o11span class="line" name="Lb1935>ret11          11spal1cpooref"na>kordrees(stL57, uget_runt_unllow cpoomment">   11spaL57, uget_runt_unllow cpooref="+code=oc11   >1t_unlock" 7" id=   >1a href="+code=ocfs2_read_refcount_4 1"3"sref">ocf32_refre_uren_contig> *)850011>       uc#L55" id="  >118u315001r cpoomment">   11spa>1cpooref"na>kordrees(stL57, uget_runt_unllow cpoomment">   11spaL57, uget_runt_unllow cpooref="+code=oc11   >1sss="sref">rb  >1a href="+code=ocfs2_read_refcount_4 1"3"refaode=r3c#L4block" class="sref">o3fsre_38srefb- class="sref">OClow_cporees(str3fcouren_ad3acino">inobh)
   11spal1cpooref"n    /53811685001r cpoomment">   11spa>1cpooref"e- class="sref">OClow_cporees(str3e" name="L355118250011          3    <3 href="11   >11 f_root0111>ret11               <3 href3"11   >11 fs2_a href="fs/ocfs2/rel cpoomment">   11spal1cpooref"n l  /53811685001r cpoomment">   11spa>1cpooref"e- class="sref">OClow_cporees(str3eOCle161183s2_unlock_refcount_tsr011-1>ret110>ret11   11spacmp11spa>11sf   1bylcpooref="const void0011span clascomment">   10spwn_wr>1const void0011span class="line" name="Lb1935e- class="sref">OClow_cporees(str3fs2_purge_3efco7" id="L477" class="l3ne" n39e="L4"L482119450011span class="comment3fref="+ctm311span class="comment3>   13982" class="liconst >11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned 11span clast_unlock" 7" id=   >10 o11span clascomment">   10spwn_wr>1011span classss="sref">rb  >10 o11span class="line" name="Lb1935>ret11span class="comment"3   11392ttttt(unsign118u6>kreesme="L54711 7500l cpoomment">   11spal1cpooref"na>kordrees(stclpoode=tree" class="sref]""poode=treref="+code=oc11   >1t_unlock" 7" id=   >1        goto =poomment">   11spa>1cpooref"e>ret118u6>kreesme="L54711 7500r cpoomment">   11spa>1cpooref"na>kordrees(stclpoode=tree" class="sref]""poode=treref="+code=oc11   >1sss="sref">rb  >1        goto =poomment">   11spa>1cpooref"e>ret   11spal1cpooref"n    /53811685001r cpoomment">   11spa>1cpooref"e- class="sref">OClow_cporees(str3>   11spa>31sfs2_unlock_refcount_ttt3ttttt3911>pan class="comment0111>rettrblo/lock" class="sre3">ocf39=rf_generation" clae/a>;
   11spal1cpooref"n l  /53811685001r cpoomment">   11spa>1cpooref"e- class="sref">OClow_cporees(str3Lcode=ocfs3   if (tree);
OClow_cporees(str4bunt_e" id4"L481" class="line" name=4L48114>15001swap11spa>11sfs(struct cpor#swap11spa>11sfs11span clascomment">   10spwn_wr>1void0011span class="line" name="Lb1935,LheadOClow_cporees(str4b3nt_e" id4"nttree.c#L45" id="L485" 45591140ontig"L482119450011span class="comment4l4559" id=4Lefcouren_leftd *)11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned 11span clast_unlock" 7" id=   >10 o11span clascomment">   10spwn_wr>1011span classss="sref">rb  >10 o11span class="line" name="Lb1935sdretpa>40eeeeout;
;
11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned 1>rettrblo/lock" class="sre4">d6"40=rf_generatio*e>11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned 1naret11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned rb  >1>rettree);
a> = 11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned rb  >10 o11span clastmps2/refcounttreetmp1935>ret *)95004/a>11>                   4  <1141srefb- class="sref">OClow_cporees(str4a>->(struct el">trla4s="sr412ttttname="L485105250010       }
)
nfs241href=f="fs/ocfs2/refco10
* T="L" >10 f_ cpoo are ordered byme="ir 64bi_ cpoo,      }
trlass="sref">ip_4yn_fl41tttttf="fs/ocfs2/refco10
* But we will useme="Llow 32 bi_ to beme="Le1cpoo inme="Lb-roo7"      }
rb<41ode* So we need to make sureme=a_ this poo isn't in claecfed with oe="rs"      }
(struct low_cporc#L5441" id4/aref=f="fs/ocfs2/refco10
*      }
ocffof="fs/ocfs2/refco10
* Note: T="L" >10 f_ L4771 is already sorted byme="ir low 32 bi_ cpoo,      }
11       **5610 950010tatic int    11spaL57, ufindunsigned 11span class="comment">   11spa>11sf/ocfs2/refcounttree">   11spa>11sf/ocf="sr0011span clas4t_unlock" 7" id=r   >1s> *)ocfsg>bh4e_ref42150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa011>       uc#L55" id="  >118u3150011span classplit_poomment">   11spasplit_pooref=,Lhead011span classplit_if (OClow_cporees(str4eeeeee cla4s="sref">brck" class="sre4eode=42ontig"L482119450011span class="comment47es(st4cpor_endree(struct cp4r_end42tttttt(unsignheada> = kordrees(stclss="ass="ass="ass=11 350011       1"L477108550010   nenlock" a> =    10spdel"c1935sd   10spmiddleref"na>kordrees(stnum_nlock" a> = ret11 de=out" classssss4sssss42_refexteblockfor clae/a>;
   10spdel"c1935na>0 /53811685001del"comment">   10spdel"c1935n l  /53811685001middleomment">   10spmiddleref" /53811685001del"comment">   10spdel"c1935++_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<47" name="L4d="L485" class="line" nam4="L48427" id="L547" class="l10  Let's che71 del"c earlierme=an middle *5610 950010tatic int 11 ="sref">reta> =    11spa>11sf   1no_in claecf<"nde010tatic int 112f_root_bh" clas4="sre43code=rere_refcouren_cccccccccccccccccccccccccunt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   ne" name="L481119650011span class="comment">middleomment">   10spmiddleref"n-/53811685001del"comment">   10spdel"c1935nreoc4a1119500(struct 4por_e43                  <11> 5>110               ccunt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   ne" name="L481119650011span class="comment">middleomment">   10spmiddleref"n-/53811685001del"comment">   10spdel"c1935])_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<4ct low_cpo4c#L55" id="L485" class="l4ne" n43150011>paaaaaaaaaaaaaaaaa011span classplit_if (   10spmiddleref"n-/53811685001del"comment">   10spdel"c1935>ret11 f_root_bh" clabreak>ret(st4d="L481" class="line" nam4="L4843tttttt(unsignnnnnnnnnFT> *))43eeeeout;
10tatic int 1 iddleomment">   10spmiddleref"n+a011>       del"comment">   10spdel"c1935n+ 1)naa>kordrees(stnum_nlock" a> = OClow_cporees(str4c" name="L4"fs/ocfs2/refco11
113w4_writ437" id="L547" class="leneratioock"inue>ret11       10  Now trymdel"c past middle *5610 950010tatic int    11spa>11sf   1no_in claecf<"nde010tatic int 1"L477108550010   ne" name="L481119650011span class="comment">middleomment">   10spmiddleref"n+a011>       del"comment">   10spdel"c1935/sfs2_rstatic voidock" class="sref">oc4"eeeee cla4lock" class="srefte__leaf4="+co44href="11   >11 f_root_bh" cla















unt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   ne" name="L481119650011span class="comment">middleomment">   10spmiddleref"n+a011>       del"comment">   10spdel"c1935n+ 1])_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<4ree.c#L4824 id="L522" class="line" n4me="L44tttttt(unsignnnnnnnnnnnnnnnnn011span classplit_if (   10spmiddleref"n+a011>       del"comment">   10spdel"c1935n+ 1>retinod4->ret11       while (( *) *)   10spdel"c1935n 477a>kordrees(stmiddleomment">   10spmiddleref"a- class="sref">OClow_cporees(str4 *)11-kordrees(stENOSPComment">   10spENOSPC1935>retOClow_cporees(str4 t low_cpo4CONTIG_RIGHT"#L5e" id="L442" cl452ttttt(unsign011span classplit_poomment">   11spasplit_pooref=na>kordrees(stL57, uget_runt_unllow cpoomment">   11spaL57, uget_runt_unllow cpooref="unt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   ne" name="L481119650011span c011span classplit_if (115="sref">ret4= inod411
11 ="sre" id="L485"4class45eeeeout;
11sf_roo" id="L477" class="lindivide 9500<1spa>11sf_roo"ref=">11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
sfs2_rstatic voidock" class="sref">oc4efaode=rf_4eneration" clae" id="L4824 clas45_refexteblock *)<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>11span class="commentbuffer_heack" a> = 11span clasnews="line" name="L48news="atios> *)   11spasplit_cpooref"a- class="sref">OClow_cporees(str4 /ocfs2/re4ordrees(struct iona>k4rdr c4a.ref"ree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<4drees(4truct iona>kordr cla.ref"4rf_ge46e="L47711>850heada> = retrf_gene4ationa>kordrees(struc4 iona4682" class="line" name="L4821uc#L55" id="  >118u315001cpoomment">   11spacpooref=na>0>ret(struct iona>ko4dr cl462ttttt(unsign>11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500kordrees(struct io4a>kor46href="11   >11 f_root_bh" claa>11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeowr2" class="line" name="L482113950011
109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"4(struct r_4porc#L54)6" id="L482" cla4s="li46tttttt(unsign>11span class="comment">   11spa>11sf/ocfs2/refcounttree">   11spa>11sf/ocf="sr0011span clas4t_unlock" 7" id=r   >1na>unt_unlock" 7" id="L4s="line" name="L4b  >1"L477108550010     48511 450011               inod4 >11 fs2_refcount_tree_pu4retur465ttttt(unsign>11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500116#L555" id=4L555"4611>pan class="comment">   11>a>11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeownews="line" name="L48news="atio109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"4truct 11span class="comment">   11spa>11sf/ocfs2/refcounttree">   11spa>11sf/ocf="sr0011span clasnewsst_unlock" 7" id=newsst  >1na>unt_unlock" 7" id="Lnewsss="line" name="Lnewsss"L477108550010     48511 450011               11sf_roo" id="L477" clastrace_" clasdivide 9500<1spa>11sf_roo"<"nde010tatic int  *)pa>110f_root_bh" class="sreer2" class="line" name="L482113950011
109650010span clasL4771nr">"dept" s> *)(stclss="ass="ass="ass=11 350011       1"L477108550010   nee_ureme="L481119650011       1"L477108550010   nenlock" a> = 117 e=out" classs4sssss47a>11sp_root_bh" clreturn/a>);
u32ocfs2_refr4_uren47href="11   >1name="L485105250010       }
>>>>>>>>* XXX: Improvoo10
 later"      }
OCle1647ode>>>>>>>>* If we know allme="Lhigh 32 bi_ cpoo is e="Ls>re, no need to sort"      }
ode=rere_4efcount_block" class="sre4">ocf47aref=f="fs/ocfs2/refco10
>>>>>>>>*      }
ruct inobh)
fe, we do:      }
" name="L4   }
1         * 1. sortme="Lentries byme="ir low 32 bi_ cpoo first so e=a_ we can      }
        *    find e="Lsplit cpoo easily"      }
ocf42_refre_uren_contig> *)        * 2. callm" clasinsertiexte   to insert e="LnewL" >10 f_ L4771"      }
o4fsre_48srefbf="fs/ocfs2/refco10
        * 3. movome="L" >10 f_     to e="LnewLL4771"      }
inobh)
1>        * 4. sortme="Lentries byme="ir 64 bi_ cpoo"      }
u3211          4    <48href=f="fs/ocfs2/refco10
        * 5. dirty e="Lnewsss and rb"      }
11               <4 href48tttttf="fs/ocfs2/refco10
>>>>>>>>*5610 950010tatic int 118sors<"ndeunt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   ne" name="L481119650011span sd11       1"L477108550010   nenlock" a> = 11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned  *) 53811685001cmp11spa>11sf   1byllow cpoomment">   11spacmp11spa>11sf   1byllow cpooref=>1138 hre" id="L4swap11spa>11sfs(struct cpor#swap11spa>11sfsret1ass="comm11   >118="sref"na>kordrees(stL57, ufindunsigned    11spaL57, ufindunsigned 1,>unt_unlock" 7" id="Lcpoomment">   11spacpooref=,>unt_unlock" 7" id="Lsplit_if (tree<4fref="+ctm411span class="comment4>   149                  <11kordrees(stmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret11span class="comment"4   1149150011>paaaaaaaaa011       ret *)10     cpoomment">   11spa>11cpooref"na>kordrees(stcpu>11 clc#L55" id="  >118cpu>11 clc#ref="nlock" 7" id="Lcpoomment">   11spacpooref=_>rettrblo/lock" class="sre4">ocf49=rf_generatioeame="L485105250010  movom" >10 f_       < namrsing from split_if (< to e="LnewLL4771">*5610 950010tatic int a> = kordrees(stclss="ass="ass="ass=11 350011       1"L477108550010   nenlock" a> = rettree);
1"L477108550010   ne" name="L481119650011span sdunt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   ne" name="L481119650011span class="comment">split_if (a> = 11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned ret 500 550srefb- class="sref">OClow_cporees(str5bunt_e" id5"L481" class="line" name=5L4811502rf_generatioeame="L485105250010 ok,   movome="Lentries we just movoc ovor to e="Loe="rLL4771">*5610 950010tatic int 118memsss<"ndeunt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   ne" name="L481119650011span class="comment">split_if (a> = 11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned retpa>50eeeeout;
10  changemold and newL"ref="+ ac    ingly">*5610 950010tatic int trblo/lock" class="sre5">d6"50_refexteblockaddss="ass="ass=11 3500addss="<"ndeunt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   nenlock" a> = a> = ret1"L477108550010   nenlock" a> = 11 cl/aref="+code=oc11   >1num_movock" a> = rettree);
11       118sors<"ndeunt_unlock" 7" id="L4t_unlock" 7" id=r   >1"L477108550010   ne" name="L481119650011span sd11       1"L477108550010   nenlock" a> = 95005/a>11>                   5  <1151                  sizeofe>11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned  *)trla5s="sr51150011>paaaaaa53811685001cmp11spa>11sf   1bylcpoomment">   11spacmp11spa>11sf   1bylcpooref=>1138 hre" id="L4swap11spa>11sfs(struct cpor#swap11spa>11sfsret)
nfs251ontig> *)trlass="sref">ip_5yn_fl51tttttt(unsign118sors<"ndeunt_unlock" 7" id="Lnewsst_unlock" 7" id=newsst  >1"L477108550010   ne" name="L481119650011span sd11       1"L477108550010   nenlock" a> = rb<512_unlock_refcount_sizeofe>11span class="comment">   11spa>11sfs(struct cpor#L57, unsigned  *)(struct low_cporc#L5451" id5111>pan class="comm53811685001cmp11spa>11sf   1bylcpoomment">   11spacmp11spa>11sf   1bylcpooref=>1138 hre" id="L4swap11spa>11sfs(struct cpor#swap11spa>11sfsretocfforet11       *11span classplit_cpoomment">   11spasplit_cpooref"na>kordrees(stcpoomment">   11spacpooref=>ret110>ret *)11               OClow_cporees(str5efcount_bl5ck" class="sref">ocfsg>bh5e_ref52150011sf_roo" id="L477" class="linnews9500<1spa>11sf_roo"   118.andle_s1935n* href="+code=9 .andle="comm11   >118.andleref=>- class="sref">OClow_cporees(str5e_root_bh"5s="sref">brck" class="sre5eode=52href="11   >11 f_root_bh" cla















c>11span class="comment">   1caching_ifff">ocfsreadere_r">   1caching_ifff1935n* href="+code=9 cimment">   11spaciref=>- class="sref">OClow_cporees(str5e4559" id=5cpor_endree(struct cp5r_end52tttttt(unsignnnnnnnnt_bh" cla















c>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str5e5nt_e" id5ne" name="L481112450051
11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
sfs2_rstatic voidock" class="sref">oc5"6559" id=5="fs/ocfs2/refcounttree.c5L482"5211>pan class="comment">   11>















c>11span class="comment">   1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=xfs2_rstatic voidock" class="sref">oc5"7559" id=5111 de=out" classssss5sssss52=rf_g"L482119450011span class="comment57" name="L5d="L485" class="line" nam5="L48527" id="L547" head118="sref">ret11 ="sref">retpan11span classubalroo_bit_namrsmment">   11spasubalroo_bit_namrsref">ret112f_root_bh" clas5="sre53e="L47711>850011>       uc#L55" id="  >118u315001num_gofs2/refcounttreenum_gofref=>1138 hre" id="L4newscpoomment">   11spanewscpooref">ret(struct 5por_e5382" class="line" name="L4821uporc#L54)6"  >118u6>kreesme="L54711 7500subalroo_roomment">   11spasubalroo_rooref=>1138 hre" id="L4blkef">ocfsreadere_rblkefref">ret11span class="commentsuper__roo" id="L477" classuper__roo"19350011span classs="line" name="Lsbref"na>kordrees(stL57, umeta10sw1cacheuget_supers2/refcounttree">   1meta10sw1cacheuget_superref="nlock" 7" id="Lcimment">   11spaciref=x>ret1>11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeowr2" r class="comm11   >118="" r classref=109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"5c class="l5f=c>)_leaff="+code=b_data5 ca>)535ttttt(unsign>11span class="commentbuffer_heack" a> = 11span clasnews="line" name="L48news="ationa>kordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 1"5c6559" id=5lass="line" name="L48111 5500pan class=>11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500   1exte  _ount id="L477" class="linexte  _ountkreesme="L54711 7500="" ss="comm11   >118="" ss href="+code=ocfs2_read_refcount_4 1"5c" name="L5"fs/ocfs2/refco11
113w5_writ53ass="href="+code=ocfs2_read_refcount_4 1"5c9559" id=5#L485" id="L485" class="l5ne" n53line" name="L53811685001BUG_ON="comm11   >118BUG_ONref="!clae/a>;
10     flagomment">   11spa>11flagoondexnunt_uL53811685001OCFS2_REFCOUNT_TREE_FLline" name="L48OCFS2_REFCOUNT_TREE_FL="srx_>ret);
118="sref"na>kordrees(stL57, ujournal_a/cessa4s="line" name="LL57, ujournal_a/cessa4s   118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str5"t low_cpo5ss="line" name="L567114155054150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa53811685001OCFS2_JOURNAL_ACCESS_WRITEline" name="L48OCFS2_JOURNAL_ACCESS_WRITEref=x>ret1h href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<5ree.c#L4825 id="L522" class="line" n5me="L54tttttt(unsignnnnnnnnn11span clasmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retinod5->kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"5e);
11       while ((118="sref"na>kordrees(stL57, ujournal_a/cessa4s="line" name="LL57, ujournal_a/cessa4s   118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" class="line" name="L482113950011
sfs2_rstatic voidock" class="sref">oc5"/ocfs2/re5=rere_uren_contigunt_u1" 5d="L454/a>a> = tree<5  name="L45f="+cREF_CONTIG_LEFT"#L5e5 id="55                  <11kordrees(stmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret11>paaaaaaaaagofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"5 eeeee cla5"11   >115="sref">ret5= inod511
11 ="sre" id="L485"5class552_unlock_refc118="sref"na>kordrees(stL57, ucomim1meta10sw">ocfsreadere_r">   1comim1meta10sw   118.andleref=>>kordrees(stmeta_a/a>(struct cpor#meta_a/ref=, 1,>unt_unlock" 7" id="Lsubalroo_roomment">   11spasubalroo_rooref=>retpan class="comment">   11>










unt_unlock" 7" id="Lsubalroo_bit_namrsmment">   11spasubalroo_bit_namrsref",>unt_unlock" 7" id="Lnum_gofs2/refcounttreenum_gofref=>ret *)<<<<<<<<<<<<<<<<<<<ocfsreadere_rblkefref"_>ret115wn_write" class=5srefe557" id="L547" h href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<5 /ocfs2/re5ordrees(struct iona>k5rdr c55/a>a> = ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret(5truct iona>kordr cla.ref"5rf_ge56code=rere_refcouren_cgofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"5f">rf_gene5ationa>kordrees(struc5 iona5682" class="liFT> *)(struct iona>ko5dr cl56a>11sp_root_bh" clreturn/a>);
kordrees(stsbugetblk="line" name="Lsbugetblkref=" href="+code=9 ss="line" name="Lsbref">1138 hre" id="L4blkef">ocfsreadere_rblkefref"_>retkordrees(stNULLline" name="L48NULLn_wr_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<5(lse">inod5 >11 fs2_refcount_tree_pu5retur562_unlock_refcount_tsr118="sref"na>-kordrees(stEIO="comm11   >118EIO href="+code=ocfs2_read_refcount_4 1"5f);
pan class="commentkordrees(stmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret11 de=out" cla5sretu56_refexteblock *)kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"5f" name="L5TIG_NONEc#L4"LL" class="a5s="as5682" class="liFT> *)116#L538" id="L538"5class56line" name="L53811685001">   1setnnewsbuffer_upto10st id="L477" class="linsetnnewsbuffer_upto10stref="nlock" 7" id="Lcimment">   11spaciref=>1138 hre" id="L4news="line" name="L48news="atio_>ret *)118="sref"na>kordrees(stL57, ujournal_a/cessa4s="line" name="LL57, ujournal_a/cessa4s   118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500news="line" name="L48news="atios> *)117 e=out" classs5sssss57150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa53811685001OCFS2_JOURNAL_ACCESS_CREATEline" name="L48OCFS2_JOURNAL_ACCESS_CREATEatio_>retocfs2_refr5_uren57href="11   >1h href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<5cstruct r_5ef="+cocode=ocfs2_read_re5count57tttttt(unsignnnnnnnnn11span clasmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retOCle16572_unlock_refcount_tsrgofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"5>ode=rere_5efcount_block" class="sre5">ocf5711>pan class=FT> *)ruct inobh)
*5610 950010tatic int 11          11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeownews="line" name="L48news="atio109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"5"sref">ocf52_refre_uren_contig> *)850011>       memsss="comm11   >118memsss<"nde53811685001newsss="line" name="Lnewsss,>0>1138 hre" id="L4ss="line" name="Lsbref"109650010span cls"L4771size="line" name="Ls"L4771sizeref"_>reto5fsre_5882" class="line" name="L4821>11cpy7" class="line">11cpy<"nde(void00etaee.cacacheeownewsss="line" name="Lnewsss,>53811685001OCFS2_REFCOUNT_BLOCK_SIGNATUREline" name="L48OCFS2_REFCOUNT_BLOCK_SIGNATUREref"_>retinobh)
10     subalroo_slofs2/refcounttree   subalroo_slofref"na>kordrees(stcpu>11 cl/aref="+code=ocfs2pu>11 cl/aref="+code=oc11   >1meta_a/a>(struct cpor#meta_a/ref="L477108550010  ac_alroo_slofs2/refcounttreeac_alroo_slofref"_>ret11          5    <5832" class="li10     subalroo_roomment">   11spa   subalroo_rooref"na>kordrees(stcpu>11 clporc#L54)6"  >118cpu>11 clporef=" href="+code=9 subalroo_roomment">   11spasubalroo_rooref=_>ret11               <5 href58tttttt(unsign10     subalroo_bifs2/refcounttree   subalroo_bifref"na>kordrees(stcpu>11 cl/aref="+code=ocfs2pu>11 cl/aref="+code=oc11   >1subalroo_bit_namrsmment">   11spasubalroo_bit_namrsref"_>ret1185s2_unlock_refc10     fs_generations2/refcounttree   fs_generationref"na>kordrees(stcpu>11 clc#L55" id="  >118cpu>11 clc#ref="nlock" 7" id="LOCFS2_SBline" name="L48OCFS2_SBref=" href="+code=9 ss="line" name="Lsbref")"L477108550010  fs_generations2/refcounttreefs_generationref"_>retpan class=10     blkef">ocfsreadere_r   blkefref"na>kordrees(stcpu>11 clporc#L54)6"  >118cpu>11 clporef=" href="+code=9 blkef">ocfsreadere_rblkefref"_>ret1110     parereme="L4811196500<  parereref"na>kordrees(stcpu>11 clporc#L54)6"  >118cpu>11 clporef=" href="+code=9 r2" r class="comm11   >118="" r classref=109650010span clasL4771nr">"dept" _>ret"L477108550010     flagomment">   11spa>11flagoondena>kordrees(stcpu>11 clc#L55" id="  >118cpu>11 clc#ref="nlock" 7" id="LOCFS2_REFCOUNT_LEAF_FLline" name="L48OCFS2_REFCOUNT_LEAF_FL_>ret1newsss="line" name="Lnewsss"L477108550010     48511 450011               10   nee_ureme="L481119650011span clascpu>11 cl/aref="+code=ocfs2pu>11 cl/aref="+code=oc11   >1L57, unsigned ret11span class="comment5>   15982" class="line" name="L4821newsss="line" name="Lnewsss"L477108550010     generations2/refcounttree   generationref"na>kordrees(st1 cla4s="line" name="L4 cla4sref""L477108550010     generations2/refcounttree   generationref">ret11span class="comment"5   1159a>11sp_root_bh" clreturn/a>);
118="sref"na>kordrees(stL57, udivide 9500<1spa>11sf_roo" id="L477" class="lindivide 9500<1spa>11sf_roo"ref=" href="+code=9 r2" class="line" name="L482113950011
ssme="L54711 7500news="line" name="L48news="atios>unt_unlock" 7" id="Lnewscpoomment">   11spanewscpooref"_>ret118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<5fOCle16ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retpan class="commentgofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"5_generatio5f">trblo/lock" class="sre5">ocf59ocffound_refcFT> *)850011>       L57, ujournal_dirty="line" name="LL57, ujournal_dirty   118.andleref=>>kordrees(stnews="line" name="L48news="atio_>ret 500 560srefb- class="sref">OClow_cporees(str6bunt_e" id6"L481" class="line" name=6L4811602ine" name="L53811685001L57, uinit<1spa>11sfexte  _ount id="L477" class="lininit<1spa>11sfexte  _ount   >>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=_>ret *)11sf_roo" id="L477" clastrace_" clasnews9500<1spa>11sf_roo"    *)pa>602_unlock_refcount_nnt_bh" claa   11>pa>110f_root_bh" class="sreenews="line" name="L48news="atio109650010span clasL4771nr">"dept" s1138 hre" id="L4newscpoomment">   11spanewscpooref"_>rettrblo/lock" class="sre6">d6"60=rf_generatioeame="L485105250010  Insert e="LnewL9500LL4771 with e="Lspecific offse_ cpoo">*5610 950010tatic int 118="sref"na>kordrees(stL57, uinsertiexte   id="L477" class="lininsertiexte     118.andleref=>>unt_unlock" 7" id="L4"" ss="comm11   >118="" ss>>kordrees(stnewscpoomment">   11spanewscpooref">>kordrees(stnews="line" name="L48news="atio109650010span clasL4771nr">"dept" s> *)tree);
a> = ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret->(struct el">trla6s="sr61a>11sp_root_bh" clreturn/a>);
:p_root_bh" clreturn/a>);
trlass="sref">ip_6yn_fl61tttttt(unsign118brelse<"nde53811685001news="line" name="L48news="atio_>retrb<612_unlock_refc011       ret(struct low_cporc#L5461" id6/aref=FT> *)ocfforet11       *OClow_cporees(str6f9559" id=6class="line" name="L5641167500<61/a>a> =    1caching_ifff">ocfsreadere_r">   1caching_ifff1935n* href="+code=9 cimment">   11spaciref=>- class="sref">OClow_cporees(str6fs2_purge_6efco7" id="L477" class="l6ne" n62code=rere_refcouren_ct(unsignnnnnnnnnaaaaaa>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str67111950011               11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
sfs2_rstatic voidock" class="sref">oc6efcount_bl6ck" class="sref">ocfsg>bh6e_ref62150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>11span class="comment">   1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=xfs2_rstatic voidock" class="sref">oc6e_root_bh"6s="sref">brck" class="sre6eode=62href=ree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<6e4559" id=6cpor_endree(struct cp6r_end62tttttt(unsignhead118="sref">ret61
11span class="commentbuffer_heack" a> = 11span clasex 95du="line" name="L48ex 95du="ref"na>kordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 1"6"6559" id=6="fs/ocfs2/refcounttree.c6L482"62e_refcouren_adjacinod *)11 de=out" classssss6sssss62=rf_generatioh href="fs/ocfs2/reas" r class="comm11   >118="" r classref=naa>kordrees(str2" class="line" name="L482113950011
_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<67" name="L6d="L485" class="line" nam6="L48627" id="L547"         name="L485105250010       }
11 ="sref">ret                * e="Lold r cl bh hasn'l been ex 95ded to a b-roo7,      }
(struct 6por_e63srefbf="fs/ocfs2/refco10
                *5610 950010tatic int 11>paaaaaaaaame="L54711 7500ass="comm11   >118="sref"na>kordrees(stL57, uex 95duinL485_="" r cl id="L477" class="linex 95duinL485_="" r cl   118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str6ceeeee cla6a href="fcode=tree" class6ef"#L63href="11   >11 f_root_bh" cla















cccccccccccunt_unlock" 7" id="Lex 95du="line" name="L48ex 95du="ref">1138 hre" id="L4meta_a/a>(struct cpor#meta_a/ref=x>ret118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<6c class="l6f=c>)_leaff="+code=b_data6 ca>)632_unlock_refcount_nnt_bh" clame="L54711 7500mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retpan class="comment">   11>gofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"6c7559" id=6
113w6_writ6382" class="liF elsetree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<6c9559" id=6#L485" id="L485" class="l6ne" n63/a>a> = kordrees(str2" class="line" name="L482113950011
 href="+code=ocfs2_read_refcount_4 1"6ren_in_rlr6t);
(stget_="line" name="L48get_="ref=" href="+code=9 ex 95du="line" name="L48ex 95du="ref"_>ret11       stru6t );
 *)10  Now add a newL"ere_ureLL4771 heao e="Ln_con*5610 950010tatic int inod6->kordrees(stL57, unews9500<1spa>11sf_roo" id="L477" class="linnews9500<1spa>11sf_roo"   118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str6e);
11       while ((   11>















ccp1kordrees(stex 95du="line" name="L48ex 95du="ref">1138 hre" id="L4meta_a/a>(struct cpor#meta_a/ref=x>ret118="sref"_ret114#L547" id="6547" 647" id="L547"         ne="L54711 7500mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>reta>kordrees(stLufs2/refcounttree"us:p_root_bh" clreturn/a>);
118brelse<"nde53811685001ex 95du="line" name="L48ex 95du="ref"_>ret11       ret *)115="sref">ret6=  *)10       }
inod611
11 ="sre" id="L485"6class652_unlf="fs/ocfs2/refco10
* Adjust e="Lexte       he b-roo7   prese  ing 21139500*      }
* Only called when we have inserted a newL"ere_ureL    at if (< 0      }
(struct iona>k6rdr c65e="L4f="fs/ocfs2/refco10
*5610 950010tatic int    1adjustunsigned 118.andle_s1935n* href="+code=9 .andle="comm11   >118.andleref=>- class="sref">OClow_cporees(str6f">rf_gene6ationa>kordrees(struc6 iona66                   nat(unsignnnnnnnnnaaaaa>11span class="comment">   1caching_ifff">ocfsreadere_r">   1caching_ifff1935n* href="+code=9 cimment">   11spaciref=>- class="sref">OClow_cporees(str6ft low_cpo6rdrees(struct iona>ko6dr cl66150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str6f_generati6na>kordrees(struct io6a>kor66href="11   >11 f_root_bh" cla












>11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
sfs2_rstatic voidock" class="sref">oc6d_CONTIG_L6porc#L54)6" id="L482" cla6s="li66tttttt(unsignnnnnnnnnt(unsignnnnnnnnnaaaaa>11span class="comment">   1nsigned    1nsigned 11span clasr2omment">   11spa e/ref=xfs2_rstatic voidock" class="sref">oc6(lse">inod6 >11 fs2_refcount_tree_pu6retur662_unlree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<6f);
pan class=head118="sref"na>0>1138 hre" id="L4imment">   11spairef">ret11 de=out" cla6sretu66_refexteblock   11spanewscpooref">>kordrees(stoldscpoomment">   11spaoldscpooref">ret11span class="comment">   1pat"line" name="L48">   1pat"   <0011span claspat"line" name="L48pat"   <0a>kordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 1"6f/ocfs2/re611   >116#L538" id="L538"6class66line" name="L>11span class="comment">   1exte  _ount id="L477" class="linexte  _ountkreesme="L54711 7500ss="comm11   >118"sref">ret *)   1rspa>11sf_roo" id="L477" class="linrspa>11sf_roo"   <0011span clasrs="line" name="L4sref"naret11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeowr2" r class="comm11   >118="" r classref=109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"6ct 117 e=out" classs6sssss67150011>pa>11span class="comment">   1exte  _lisl id="L477" class="linexte  _lisl19350011span claset_unlock" 7" id=eln_wr href="+code=ocfs2_read_refcount_4 1"6c_generati6umclass="sref">ocfs2_refr6_uren67ontig> *);
10     flagomment">   11spa>11flagoondexnunt_uL53811685001OCFS2_REFCOUNT_TREE_FLline" name="L48OCFS2_REFCOUNT_TREE_FL="srx_> *)inod6ref="+code=rb" class16672_unlock_refcount_tsrgofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"6>ode=rere_6efcount_block" class="sre6">ocf67e_refcouren_adjacinod *)inobh)
11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeowr2" class="line" name="L482113950011
109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"6c" name="L6   }
   11spaoldscpooref"0a>kordrees(stle32="ass="ass="ass=11 3500<32="ass="   10     cpoomment">   11spa   cpooref"_>ret   11spanewscpooref"0a>kordrees(stle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 1somment">   11spa e/ref="L477108550010    cpoomment">   11spa  cpooref"_nunt_uL53811685001OCFS2_32BIT_POS_MASKline" name="L48OCFS2_32BIT_POS_MASKn_wr href="+code=ocfs2_read_refcount_4 1"6"sref">ocf62_refre_uren_contig> *)850h href="fs/ocfs2/reoldscpoomment">   11spaoldscpooref"0<a>kordrees(stnewscpoomment">   11spanewscpooref"_href="+code=ocfs2_read_refcount_4 1"6"refaode=r6c#L4block" class="sref">o6fsre_68                   nagofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"6"t inobh)
11sp_root_bh" clreturn/a>);
11          6    <6832" class="li11sfexte  _ount id="L477" class="lininit<1spa>11sfexte  _ount   118"sref">>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=_>ret11               <6 href68rerotret1186s2_unlock_refckordrees(sts="linnewspat"_from ss="comm11   >118s="linnewspat"_from ss   118"sref"_>retpan class=h hr!tree<6eruct 11118="sref"na>-kordrees(stENOMEM="comm11   >118ENOMEM href="+code=ocfs2_read_refcount_4 1"6"" name="L6_read_refcount_block" cla6s="sr687" id="L547"         ne="L54711 7500mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>reta> =  href="+code=ocfs2_read_refcount_4 1"6fs2_purge_6efco7" id="L477" class="l6ne" n69code=rere_refFT> *)   169srefb- class="sref">OClow_cporees(str6ft 11span class="comment"6   11692ine" name="L53811685001ass="comm11   >118="sref"na>kordrees(stL57, ufind1pat"line" name="L48">   1find1pat"ref=" href="+code=9 cimment">   11spaciref=>sme="L54711 7500pat"line" name="L48pat"   <>>kordrees(stoldscpoomment">   11spaoldscpooref"_>ret118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<6fstruct r_6refcouren_leftd *)ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retkordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"6fode=rere_61sfs2_unlock_refcount_ttt6ttttt6911>pan class=FT> *)trblo/lock" class="sre6">ocf69ocfforet10 610 950010tatic int tree);
        * 2 more credits, one for e="L9500L href="+LL4771, one for610 950010tatic int         *5610 950010tatic int 118="sref"na>kordrees(stL57, uexte d_ouanomment">   11spao57, uexte d_ouano   118.andleref=> 2_>ret118="sref"0< 0_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<7l4nt_e" id7"efcouren_leftd *)ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retpa>702_unlock_refcount_nntgofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"716nt_e" id7"sfs2_unlock_refcount_ttt7500pan class=FT> *)trblo/lock" class="sre7">d6"70ocfforet118="sref"na>kordrees(stL57, ujournal_a/cessa4s="line" name="LL57, ujournal_a/cessa4s   118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500r2" class="line" name="L482113950011
sfs2_rstatic voidock" class="sref">oc719559" id=7Lrblo>tree);
a> = tree<7f" class="7/a>11>                   7  <1171                   name="L54711 7500mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret->(struct el">trla7s="sr71150011>paaaaaaaaagofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"7f_root_bh"7class="srebh)
nfs27132" class="liFT> *)trlass="sref">ip_7yn_fl71rerotretrb<712_unlock_refc118="sref"na>kordrees(stL57, ujournal_a/cessaes="line" name="LL57, ujournal_a/cessaes   118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500pat"_class="line" name="L48pat"_class="   oc7a6559" id=7(struct low_cporc#L5471" id7111>pan class="comment">   11>













me="L54711 7500OCFS2_JOURNAL_ACCESS_WRITEline" name="L48OCFS2_JOURNAL_ACCESS_WRITEref=x>ret118="sref"0< 0_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<7f8559" id=777111650011       *ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>reta> =  href="+code=ocfs2_read_refcount_4 1"7fs2_purge_7efco7" id="L477" class="l7ne" n72code=rere_refFT> *)11               OClow_cporees(str7efcount_bl7ck" class="sref">ocfsg>bh7e_ref72150011>paeame="L485105250010  change e="L9500Lexte   L4771 first" *5610 950010tatic int brck" class="sre7eode=7232" class="likordrees(stpat"_classet_unlock" 7" id=pat"_classet   (struct cp7r_end72rerotret71
   11spairef"na>0uL53811685001imment">   11spairef"n< kordrees(stle16="ass="ass="ass=11 3500<16="ass="   10  l_next_f"co1imment">   11spairef"++_href="+code=ocfs2_read_refcount_4 1"7"6559" id=7="fs/ocfs2/refcounttree.c7L482"7211>pan class="commenth href="fs/ocfs2/rele32="ass="ass="ass=11 3500<32="ass="   10  l_tssss2/refcounttreel_tsssn_wr[53811685001imment">   11spairef"].108550010  escpoomment">   11spae cpooref"_naa>kordrees(stoldscpoomment">   11spaoldscpooref"_href="+code=ocfs2_read_refcount_4 1"7"7559" id=7111 de=out" classssss7sssss72_refexteblock *)<<<<<<<<11 ="sref">ret   11spaBUG_ON      11spairef"naa>kordrees(stle16="ass="ass="ass=11 3500<16="ass="   10  l_next_f"co10  l_tssss2/refcounttreel_tsssn_wr[53811685001imment">   11spairef"].108550010  escpoomment">   11spae cpooref"na>kordrees(stcpu>11 clc#L55" id="  >118cpu>11 clc#ref="nlock" 7" id="Lnewscpoomment">   11spanewscpooref"_>ret11sp_root_bh" clreturn/a>);
10  change e="L  cpoo he e="L9500LL4771">*5610 950010tatic int 10     cpoomment">   11spa   cpooref"na>kordrees(stcpu>11 clc#L55" id="  >118cpu>11 clc#ref="nlock" 7" id="Lnewscpoomment">   11spanewscpooref"_>ret)_leaff="+code=b_data7 ca>)732_unlretpan class=ret118.andleref=>>kordrees(str2" class="line" name="L482113950011
_>ret113w7_writ73ass="href="+code=ocfs2_read_refcount_4 1"7c9559" id=7#L485" id="L485" class="l7ne" n73/a>a>kordrees(stLufs2/refcounttree"us:p_root_bh" clreturn/a>);
   1f"co11       stru7t 11       ret741500 *) *)   1insertirere_ure118.andle_s1935n* href="+code=9 .andle="comm11   >118.andleref=>- class="sref">OClow_cporees(str7else">inod7->11span class="comment">   1caching_ifff">ocfsreadere_r">   1caching_ifff1935n* href="+code=9 cimment">   11spaciref=>- class="sref">OClow_cporees(str7e);
11       while ((   11>












>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str7ocfs2/refc7unttree.c#L45" id="L485" 7lass=74_refexteblock *)<<<<<<<<<












>11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
sfs2_rstatic voidock" class="sref">oc7o" name="L7efcou11114#L547" id="7547" 747" id="L547"         ttttttttttttttttttttt>11span class="comment">   1rere_ure   1rere_ure11span clasr2omment">   11spa e/ref=sfs2_rstatic voidock" class="sref">oc7o9559" id=7=rere_uren_contigunt_u1" 7d="L474/a>a> =    11spaif (>head118mergeref=sfs2_rstatic voidock" class="sref">oc7 *)11span class="comment">   1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=xfs2_rstatic voidock" class="sref">oc7  name="L47f="+cREF_CONTIG_LEFT"#L5e7 id="75     ree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<7 t low_cpo7CONTIG_RIGHT"#L5e" id="L472" cl75150011>pahead118="sref">ret115="sref">ret7=    1rspa>11sf_roo" id="L477" class="linrspa>11sf_roo"   <0011span clasrs="line" name="L4sref"naret11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeowr2" class="line" name="L482113950011
109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"7 lse">inod711
11 ="sre" id="L485"7class752_unlock_refc>11span class="comments="line" name="lisl id="L477" class="line" name="lisl   <0011span clasrf"lisl id="L477" clasrf"lislref"na>unt_unlock" 7" id="L4s="line" name="L4sref""L477108550010     48511 450011               a> = 11span clasnews="line" name="L48news="atio0a>kordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 1"7 cfs2/refc7eneration" clae" id="L4827 clas75ocfforet115wn_write" class=7srefe75ass="line" name="L54711 7500BUG_ONmment">   11spaBUG_ON   10     flagomment">   11spa>11flagoondexnunt_uL53811685001OCFS2_REFCOUNT_TREE_FLline" name="L48OCFS2_REFCOUNT_TREE_FL="srx href="+code=ocfs2_read_refcount_4 1"7 9559" id=7ordrees(struct iona>k7rdr c75e="L4href="+code=ocfs2_read_refcount_4 1"7drees(7truct iona>kordr cla.ref"7rf_ge76e="L47711>850h href="fs/ocfs2/reaf"lisl id="L477" clasrf"lislref""L477108550010   l_useck" a> = kordrees(staf"lisl id="L477" clasrf"lislref""L477108550010   l__refck" a> = tree<7f">rf_gene7ationa>kordrees(struc7 iona76                   na108550010  uporc#L54)6" = (stcpoomment">   11spacpooref"0a>kordrees(stle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 1somment">   11spa e/ref="L477108550010    cpoomment">   11spa  cpooref"_ href="+code=ocfs2_read_refcount_4 1"7ft low_cpo7rdrees(struct iona>ko7dr cl76150011>paaaaaaaaa108550010  uc#L55" id="  >118u315001lens2/refcounttreelenref"0a>kordrees(stle32="ass="ass="ass=11 3500<32="ass="      11spa e/ref="L477108550010    clusteromment">   11spa  clusteroref"_ href="+code=ocfs2_read_refcount_4 1"7feeeee cla7na>kordrees(struct io7a>kor76ontig> *)118="sref"na>kordrees(stL57, uex 95due" name="ount id="L477" class="linex 95dunsigned 118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str7(lse">inod7 >11 fs2_refcount_tree_pu7retur762_unlock_refcount_nnttttttttttttttttttttttsignnnnnnnnn116#L555" id=7L555"7611>pan class="commenth href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<7dcfs2/refc7ef="+11   >11 de=out" cla7sretu76_refexteblock *)<<<<<<<<<138 hre" id="L4mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retkordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"7f/ocfs2/re711   >116#L538" id="L538"7class76/a>a> = kordrees(stL57, uget_rere_ure   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str7ct 117 e=out" classs7sssss77150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa     na   11spacpooref">sme="L54711 7500lens2/refcounttreelenref">sme="L54711 7500NULLline" name="L48NULLn_wr>>unt_unlock" 7" id="Lif (   11spaif (- class="sref">OClow_cporees(str7ceeeee cla7umclass="sref">ocfs2_refr7_uren77href="11   >11 f_root_bh" cla















cccccunt_unlock" 7" id="Lnews="line" name="L48news="atio_>ret118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<7clse">inod7ref="+code=rb" class16772_unlock_refcount_tsra     naocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retode=rere_7efcount_block" class="sre7">ocf7711>pan class="comment">   11>gofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"7>ruct inobh)
 *) *)a> = ocf72_refre_uren_contig> *)(strs="line" name="L4sref"naaa>11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeowr2" class="line" name="L482113950011
109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"7"refaode=r7c#L4block" class="sref">o7fsre_78                   na11span clasrf"lisl id="L477" clasrf"lislref"na>unt_unlock" 7" id="L4s="line" name="L4sref""L477108550010     48511 450011               inobh)
11>paFT> *)11          7    <78ontig> *)11               <7 href78tttttt(unsign href="+code=9 1ss="comm11   >118="sref"na>kordrees(stL57, ujournal_a/cessa4s="line" name="LL57, ujournal_a/cessa4s   118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500r2" class="line" name="L482113950011
sfs2_ra href="+code=rere_uren_contigu7"lse">inod7             goto 118782_unlock_refcount_nntttttttttttttttttttttts53811685001OCFS2_JOURNAL_ACCESS_WRITEline" name="L48OCFS2_JOURNAL_ACCESS_WRITEref=x>retpan class=h href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<7eruct 11ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retkordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"7e11span class="comment7>   17911>pan class=h href="fs/ocfs2/reif (   11spaif ((stle16="ass="ass="ass=11 3500<16="ass="   10   l_useck" a> =  *)11>paaaaaaaaa108550010  memmove="comm11   >118memmove   10   l_tssss2/refcounttreerl_tsssn_wr[53811685001if (   11spaif (11 f_root_bh" claunt_unlock" 7" id="L4f"lisl id="L477" clasrf"lislref""L477108550010   l_tssss2/refcounttreerl_tsssn_wr[53811685001if (   11spaif (10   l_useck" a> =    11spaif (inod7on" clae" id="L482" class7"line792_unlock_refcount_tsrrrrrrrrrrsizeofa>11span class="comment">   11spa>11sftsss2/refcounttree">   1rere_urerettrblo/lock" class="sre7">ocf79_refexteblock   10spa>L4771nrref=>sme="L54711 7500if (   11spaif (- class="sref">OClow_cporees(str7fme="L48117trblo>tree);
a> =    11spa e/ref="L477108550010    cpoomment">   11spa  cpooref"_>- class="sref">OClow_cporees(str8lass="line8 name="L482109950010 8     80code=rere_refcouren_ckordrees(stle32="ass="ass="ass=11 3500<32="ass="      11spa e/ref="L477108550010    clusteromment">   11spa  clusteroref"_>sme="L54711 7500le32="ass="ass="ass=11 3500<32="ass="      11spa e/ref="L477108550010    w_cporeemment">   11spa  w_cporee   <__>ret 500 580srefb- class="sref">OClow_cporees(str8bunt_e" id8"L481" class="line" name=8L4811802ine" name="L53811685001af"lisl id="L477" clasrf"lislref""L477108550010   l_tssss2/refcounttreerl_tsssn_wr[53811685001if (   11spaif (011span clasr2omment">   11spa e/ref=>ret *)10   l_useck" a> = retpa>802_unlretpan class=h href="fs/ocfs2/remerge="comm11   >118mergeref=_> *)trblo/lock" class="sre8">d6"80_refexteblock *)<   1rere_ure118">   1rere_uresme="L54711 7500if (   11spaif (rettree);
   11spaif (tree<8a>->(struct el">trla8s="sr81150011>paaaaaaaaa href="+code=9 1ss="comm11   >118="sref"na>kordrees(stL57, uadjustunsigned    1adjustunsigned 118.andleref=>>kordrees(stcimment">   11spaciref=>ee_puteeeeeeeeeeeeeeeeeeeeeeee>tree<8a3nt_e" id8class="srebh)
nfs281href="11   >11 f_root_bh" cla















cccccaaa href="+code=9 1s" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str8f4nt_e" id8uct el">trlass="sref">ip_8yn_fl81tttttt(unsignnnnnnnnnt(unsignnnnnnnnnaaaaa


cccccaaa href="+code=9 1s" class="line" name="L482113950011
s1138 hre" id="L4r2omment">   11spa e/ref=x>retrb<812_unlock_refcount_tsrh href="fs/ocfs2/reass="comm11   >118="sref"_ret(struct low_cporc#L5481" id8111>pan class="comment">   11>ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret *)11       *(stLufs2/refcounttree"us:p_root_bh" clreturn/a>);
118brelseref=" href="+code=9 news="line" name="L48news="atio_>ret11       ret11                *)ocfsg>bh8e_ref82a>11sp_root_bh" clreturn/a>);
brck" class="sre8eode=8232" cmame="L485105250010 610 950010tatic int (struct cp8r_end82rerotf="fs/ocfs2/refco10
* Split e="L signed * This is much simple e=fs/our b-roo7 an c"      }
paf="fs/ocfs2/refco10
* split11 de=out" classssss8sssss82_refef="fs/ocfs2/refco10
* If split0>1we are changing e="L signed (he case we      }
11 ="sref">ret* If split0>1we are punching a hole he curre"+Ltscporee      }
(struct 8por_e83srefbf="fs/ocfs2/refco10
*5610 950010tatic int    1split118.andle_s1935n* href="+code=9 .andle="comm11   >118.andleref=>- class="sref">OClow_cporees(str8ceeeee cla8a href="fcode=tree" class8ef"#L83href="11   >11 f_root_bh" cla











>11span class="comment">   1caching_ifff">ocfsreadere_r">   1caching_ifff1935n* href="+code=9 cimment">   11spaciref=>- class="sref">OClow_cporees(str8c4559" id=8d="L481" class="line" nam8="L4883tttttt(unsignnnnnnnnnt(unsignnnnnnnnnaaaa>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str8a5nt_e" id8f=c>)_leaff="+code=b_data8 ca>)832_unlock_refcount_nnttttttttttttttttttttt>11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
sfs2_rstatic voidock" class="sref">oc8a6559" id=8lass="line" name="L48111 8500pan class="comment">   11>











>11span class="comment">   1rere_ure   1rere_ure11span classplit11
sfs2_rstatic voidock" class="sref">oc8a7559" id=8
   11spaif (>head118mergeref=sfs2_rstatic voidock" class="sref">oc8c" name="L8"fs/ocfs2/refco11
113w8_writ837" id="L547"         tttttttttttttttttttt>11span class="comment">   1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=sfs2_rstatic voidock" class="sref">oc8c9559" id=8#L485" id="L485" class="l8ne" n83/a>a> = 11span class="comment">   1cached_dealroo_otxfs2/refcounttree">   1cached_dealroo_otxf19350011span clasdealroos2/refcounttreedealrooref"_ret);
118="sref"s1138 hre" id="L4r2os_neeck" a> = ret842ine" name="L53811685001uc#L55" id="  >118u315001lens2/refcounttreelenref">ret1>11span class="comment">   1rspa>11sf_roo" id="L477" class="linrspa>11sf_roo"   <0011span clasrs="line" name="L4sref"naret11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeowr2" class="line" name="L482113950011
109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"8else">inod8->11span class="comments="line" name="lisl id="L477" class="line" name="lisl   <0011span clasrf"lisl id="L477" clasrf"lislref"na>unt_unlock" 7" id="L4s="line" name="L4sref""L477108550010     48511 450011               11       while ((   1rere_ure   1rere_ure11span clasorigunt_unlock" 7" id="L4f"lisl id="L477" clasrf"lislref""L477108550010   l_tssss2/refcounttreerl_tsssn_wr[53811685001if (   11spaif (11span class="comment">   1rere_ure   1rere_ure11span clastailkordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 1"8o" name="L8efcou11114#L547" id="8547" 847" id="L547" >11span class="commentbuffer_heack" a> = 11span clasnews="line" name="L48news="atio0a>kordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 1"8o9559" id=8=rere_uren_contigunt_u1" 8d="L484e="L4href="+code=ocfs2_read_refcount_4 1"8 *)   11spaBUG_ON   10     flagomment">   11spa>11flagoondexnunt_uL53811685001OCFS2_REFCOUNT_TREE_FLline" name="L48OCFS2_REFCOUNT_TREE_FL="srx href="+code=ocfs2_read_refcount_4 1"8  name="L48f="+cREF_CONTIG_LEFT"#L5e8 id="85srefb- class="sref">OClow_cporees(str8 t low_cpo8CONTIG_RIGHT"#L5e" id="L482" cl852ine" name="L53811685001trace_" classplit10    cpoomment">   11spa  cpooref"_>- class="sref">OClow_cporees(str8 eeeee cla8"11   >115="sref">ret8= 10    clusteromment">   11spa  clusteroref"_>- class="sref">OClow_cporees(str8 ee.c#L4828FTRIGHT"#L5e" id="L482" c8ass="85tttttt(unsignnnnnnnnn href="+code=9 le32="ass="ass="ass=11 3500<32="ass="   10    w_cporeemment">   11spa  w_cporeeref"_>- class="sref">OClow_cporees(str8 lse">inod811
11 ="sre" id="L485"8class852_unlock_refcount_nnt href="+code=9 le64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 split11
"L477108550010    cpoomment">   11spa  cpooref"_>- class="sref">OClow_cporees(str8 6559" id=8efcouren_adjacinod *)10    clusteromment">   11spa  clusteroref"_>- class="sref">OClow_cporees(str8 7559" id=8eneration" clae" id="L4828 clas85_refexteblock *)<10    w_cporeemment">   11spa  w_cporeeref"_x href="+code=ocfs2_read_refcount_4 1"8 " name="L811spa>115wn_write" class=8srefe85ass="href="+code=ocfs2_read_refcount_4 1"8 9559" id=8ordrees(struct iona>k8rdr c85line" name="L5ame="L485105250010 610 950010tatic int         * If we just neec to split e="Lheacer or tail clustero,610 950010tatic int kordrees(struc8 iona86srefbf="fs/ocfs2/refco10
        * no more w_cs are neeced, just split is OK"      }
(struct iona>ko8dr cl861500        * Oe="rwise we atL950st neec on"LnewL hcs"      }
kordrees(struct io8a>kor8632" cmame="L48510525001>        *5610 950010tatic int 11
"L477108550010    w_cporeemment">   11spa  w_cporeeref"nunt_uunt_u010tatic int inod8 >11 fs2_refcount_tree_pu8retur862_unlock_refcount" href="+code=9 split11
"L477108550010    cpoomment">   11spa  cpooref"naa>kordrees(storig10    cpoomment">   11spa  cpooref" ||010tatic int 116#L555" id=8L555"8611>pan class="comm href="+code=9 le64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 split11
"L477108550010    cpoomment">   11spa  cpooref"_ +010tatic int 11 de=out" cla8sretu86_refexteblock 10    clusteromment">   11spa  clusteroref"_naa010tatic int 10    cpoomment">   11spa  cpooref"_ +n href="+code=9 le32="ass="ass="ass=11 3500<32="ass="   10    clusteromment">   11spa  clusteroref"_x_> *)a> = a> = 0u> *) *)850else> *)a> = 1u> *)117 e=out" classs8sssss87a>11sp_root_bh" clreturn/a>);
ocfs2_refr8_uren87href="11   >15ame="L485105250010 610 950010tatic int         * We neec on"Lmore w_cnh hwe split ie e="Lmiddle and e="LnewL hc have      }
inod8ref="+code=rb" class16872_unlf="fs/ocfs2/refco10
        * some w_cporee ie it"      }
ode=rere_8efcount_block" class="sre8">ocf8711>paf="fs/ocfs2/refco10
        *5610 950010tatic int inobh)
10    w_cporeemment">   11spa  w_cporeeref"nunt_uunt_u010tatic int 10    cpoomment">   11spa  cpooref"n!a>kordrees(storig10    cpoomment">   11spa  cpooref" unt_uunt_u010tatic int a> = 10    cpoomment">   11spa  cpooref"_ +010tatic int ocf82_refre_uren_contig> *)10    clusteromment">   11spa  clusteroref"_n!a010tatic int o8fsre_88                   href="+code=9 le64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 orig10    cpoomment">   11spa  cpooref"_ +n href="+code=9 le32="ass="ass="ass=11 3500<32="ass="   10    clusteromment">   11spa  clusteroref"_x_> *)inobh)
11>paaaaaaaaa href="+code=9 1sos_neeck" a> = 10tatic int 11          8    <88ontig> *)11               <8 href88tttttt(unsign ame="L485105250010  If e="L9500LL4771 don't have enough       , ex 95d it" *5610 950010tatic int inod8             goto 118882_unlock_refch href="fs/ocfs2/rele16="ass="ass="ass=11 3500<16="ass="   10   l_useck" a> = a> = 10tatic int    11>












     href="+code=9 le16="ass="ass="ass=11 3500<16="ass="   10   l_poreemment">   11spa l__refcondex_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<8eruct 11   1rere_ure   1rere_ure1tmp1uporc#L54)6" = (stcpoomment">   11spacpooref"0a>kordrees(stle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 orig10    cpoomment">   11spa  cpooref"_ href="+code=ocfs2_read_refcount_4 1"8"/ocfs2/re8ss="ass="ass="ass="ass=1187500<88/a>a> = kordrees(stle32="ass="ass="ass=11 3500<32="ass="   10    clusteromment">   11spa  clusteroref"_ href="+code=ocfs2_read_refcount_4 1"8fs2_purge_8efco7" id="L477" class="l8ne" n89code=rere_refcouren_ckordrees(strss="comm11   >118="sref"na>kordrees(stL57, uex 95due" name="ount id="L477" class="linex 95dunsigned 118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(str8fref="+ctm811span class="comment8>   189                   na"comment">   11>












     href="+code=9 rs" class="line" name="L482113950011
s1138 hre" id="L4meta_a/a>(struct cpor#meta_a/ref=x>ret11span class="comment"8   1189150011>paaaaaaaaah href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<8f" name="L8unttree.c#L45" id="L485" 8lass=89href="11   >11 f_root_bh" cla138 hre" id="L4mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retkordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"8flse">inod8on" clae" id="L482" class8"line892_unlock_refcount_tsrFT> *)trblo/lock" class="sre8">ocf89_refexteblock *)<10 610 950010tatic int >>>>>>>>>>>>>>>>* We have fo>re-get it since now cpoo may b"Lmovec to610 950010tatic int 118="sref"na>kordrees(stL57, uget_rere_ure   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=>- class="sref">OCla href="+code10tat912 class="9ia>11span class="comment"9L481190150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa     na   11spacpooref">sme="L54711 7500lens2/refcounttreelenref">sunt_unlock" 7" id="Ltmp>unt_unlock" 7" id="Lif (   11spaif (- class="sref">OClow_cporees(str913nt_e" id9"nttree.c#L45" id="L485" 95591190href="11   >11 f_root_bh" cla















cccccunt_unlock" 7" id="Lnews="line" name="L48news="atio_>ret118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<915nt_e" id9"n" clae" id="L482" class91>pa>902_unlock_refcount_tsra     naocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retpan class="comment">   11>gofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 1"9b7559" id=9L">trblo/lock" class="sre9">d6"90_refexteblock *) *)tree);
a> = (strs="line" name="L4sref"naaa>11span class="comment">   11spa>11sf_roo" id="L477" class="line" name="L4771193500etaee.cacacheeowr2" class="line" name="L482113950011
109650010span class="comment">   10spa>10swn_wr href="+code=ocfs2_read_refcount_4 1"9f" class="9/a>11>                   9  <1191                   na11span clasrf"lisl id="L477" clasrf"lislref"na>unt_unlock" 7" id="L4s="line" name="L4sref""L477108550010     48511 450011               ->(struct el">trla9s="sr91150011>paaaaaaaaa href="+code=9 origunt_unlock" 7" id="L4f"lisl id="L477" clasrf"lislref""L477108550010   l_tssss2/refcounttreerl_tsssn_wr[53811685001if (   11spaif (1FT> *)trlass="sref">ip_9yn_fl91tttttT> *)rb<912_unlock_refc118="sref"na>kordrees(stL57, ujournal_a/cessa4s="line" name="LL57, ujournal_a/cessa4s   118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500r2" class="line" name="L482113950011
sfs2_ra href="+code=rere_uren_contigu9f6nt_e" id9(struct low_cporc#L5491" id9111>pan class="comment">   11>>11>paaaaaaaaa href="+code=9 OCFS2_JOURNAL_ACCESS_WRITEline" name="L48OCFS2_JOURNAL_ACCESS_WRITEref=x>ret118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<9f8559" id=977111650011       *1mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>reta> =  href="+code=ocfs2_read_refcount_4 1"9fs2_purge_9efco7" id="L477" class="l9ne" n92code=rere_refFT> *)11               OClow_cporees(str9efcount_bl9ck" class="sref">ocfsg>bh9e_ref922ine" name="L5ame="L485105250010 610 950010tatic int brck" class="sre9eode=9232" cmame="L48510525001ref="+cp1* We have calculatec out how manyLnewL hc   (struct cp9r_end92rerotf="fs/ocfs2/refco10
ef="+cp1* he 21os_neec, so spare enough space first by moving e="L s    ef="+cp1* after "if (<" fo>e="Lend"      }
paf="fs/ocfs2/refco10
ef="+cp1*5610 950010tatic int 11 de=out" classssss9sssss92=rf_generatioh href="fs/ocfs2/reif (   11spaif (kordrees(stle16="ass="ass="ass=11 3500<16="ass="   10   l_useck" a> =  *)1memmove="comm11   >118memmove   10   l_tssss2/refcounttreerl_tsssn_wr[53811685001if (   11spaif (a> = 11 ="sref">reta> = 10   l_tssss2/refcounttreerl_tsssn_wr[53811685001if (   11spaif (112f_root_bh" clas9="sre93code=rere_refcouren_cccccccccref="fs/ocfs2/rele16="ass="ass="ass=11 3500<16="ass="   10   l_useck" a> =    11spaif (11span class="comment">   11spa>11sftsss2/refcounttree">   1rere_ureret11sp_root_bh" clreturn/a>);
a href="+code=9 le64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 orig10    cpoomment">   11spa  cpooref"_ +010tatic int 10    clusteromment">   11spa  clusteroref"_x -010tatic int )_leaff="+code=b_data9 ca>)932_unlock_refcount_na href="+code=9 le64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 split11
"L477108550010    cpoomment">   11spa  cpooref"_ +010tatic int (stle32="ass="ass="ass=11 3500<32="ass="   10    clusteromment">   11spa  clusteroref"__>ret113w9_writ937" id="L547" 5ame="L485105250010 610 950010tatic int >>>>>>>>* If we have "len",>e="Lwe will split ie e="Ltail 95d move ie      }
);
        * fo>e="Lend of e="Lspace we have just spared"      }
11       stru9t tree<9"eeeee cla9lock" class="srefte__leaf9="+co94href="11   >11 f_rootnlock" 7" id="Ltailunt_unlock" 7" id="L4f"lisl id="L477" clasrf"lislref""L477108550010   l_tssss2/refcounttreerl_tsssn_wr[53811685001if (   11spaif (a> = ret *)inod9->1memcpy="line" name="Lmemcpy   sme="L54711 7500orig11span class="comment">   11spa>11sftsss2/refcounttree">   1rere_ureret11       while ((10    cpoomment">   11spa  cpooref"sfs2_ra href="+code=rere_uren_contigu9e7559" id=9unttree.c#L45" id="L485" 9lass=94_refexteblock *)<<<<<<<<<




kordrees(stle32="ass="ass="ass=11 3500<32="ass="   10    clusteromment">   11spa  clusteroref"_n-dret114#L547" id="9547" 947" id="L547"         53811685001tail10    clusteromment">   11spa  clusteroref"na>kordrees(sts="="as0<32mment">   11spacp"="as0<32   reta> =  *)10 610 950010tatic int 10tatic int 115="sref">ret9= ef="+cp1*      }
inod911
11 ="sre" id="L485"9class952_unlf="fs/ocfs2/refco10
ef="+cp1* Note: We have fhe chance e=ft split10tatic int ef="+cp1* 21os_neec = 0 95d len L477>0>1which means we just cut e="Lheac from610 950010tatic int ef="+cp1* e="L"rig10tatic int 115wn_write" class=9srefe95ass="f="fs/ocfs2/refco10
>>>>>>>>*L"rig(struct iona>k9rdr c95e="L4f="fs/ocfs2/refco10
>>>>>>>>*5610 950010tatic int 10    cpoomment">   11spa  cpooref"n!a>kordrees(storig10    cpoomment">   11spa  cpooref" unt_uunt_utnlock" 7" id="Ltailkordrees(storigtree<9d name="L49ationa>kordrees(struc9 iona96                   na11span claslens2/refcounttreelenref"0a>kordrees(stle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 split11
"L477108550010    cpoomment">   11spa  cpooref"_ -010tatic int 10    cpoomment">   11spa  cpooref"_>retkordrees(struct io9a>kor96href="11   >11 f_rootnlock" 7" id="Lorig10    clusteromment">   11spa  clusteroref"na>kordrees(sts="="as0<32mment">   11spacp"="as0<32   ret1if (   11spaif (10tatic int inod9 >11 fs2_refcount_tree_pu9retur962_unlock_refcFT> *)116#L555" id=9L555"96e_refcouren_adjacinod *)11 de=out" cla9sretu96_refexteblockef="fs/ocfs2/rele16=addss="ass="ass=11 3500<16=addss="   10   l_useck" a> = a> = ret116#L538" id="L538"9class96/a>a> = 10    w_cporeemment">   11spa  w_cporeeref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree<9ef="+ode=r9re_refcouren_contig> *)(strf"lisl id="L477" clasrf"lislref""L477108550010   l_tssss2/refcounttreerl_tsssn_wr[53811685001if (   11spaif (011span classplit11
>ret117 e=out" classs9sssss97150011>paaaaaaaaaaaaaaaaa(unsignec long longetaee.cacacheeowr2" class="line" name="L482113950011
109650010span clasL4771nrline" name="L48asL4771nrref"s1138 hre" id="L4if (   11spaif (- class="sref">OClow_cporees(str9ceeeee cla9umclass="sref">ocfs2_refr9_uren97href="11   >11 f_rootaaaaaaaa(unsignec long longetaee.cacacheeowle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 split11
"L477108550010    cpoomment">   11spa  cpooref"_>- class="sref">OClow_cporees(str9c_CONTIG_L9ef="+cocode=ocfs2_read_re9count97tttttt(unsignnnnnnnnnnnnnnnnnkordrees(stle32="ass="ass="ass=11 3500<32="ass="   10    clusteromment">   11spa  clusteroref"_>- class="sref">OClow_cporees(str9clse">inod9ref="+code=rb" class16972_unlock_refcount_tsra     na10    w_cporeemment">   11spa  w_cporeeref"_x href="+code=ocfs2_read_refcount_4 1"9>ode=rere_9efcount_block" class="sre9">ocf97e_refcouren_adjacinod *)inobh)
 *)118mergeref=_> *)   1rere_ure118">   1rere_ure   11spaif (/ocfs2/re97850011       a> =  *)ocf92_refre_uren_contig> *)o9fsre_98                1journal_dirty="line" name="L">   1journal_dirty   118.andleref=>>kordrees(str2" class="line" name="L482113950011
x href="+code=ocfs2_read_refcount_4 1"9"t inobh)
11sp_root_bh" clreturn/a>);
11          9    <98ontig:p_root_bh" clreturn/a>);
11               <9 href98tttttt(unsign 010span clarelseline" name="L48arelse   retinod9             goto 118982_unlock_refcreturnc118="sref">retpaFT> *)11   11spa__" clasincrease w_cporee      11spa.andle_e_unlo011span clas.andle="comm11   >118.andleref=>reta> =    1caching_ifff="line" name="L">   1caching_ifff_unlo011span clascimment">   11spaciref=>ret11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OCla href="+code10tat9fref="+ctm911span class="comment9>   199                   na"comment">   11>




11span clasuporc#L54)6" = (stcpoomment">   11spacpooref">>kordrees(stuc#L55" id="  >118u315001lens2/refcounttreelenref">>head118mergeref=sfs2_rstatic voidock" class="sref">oc9ft 11span class="comment"9   1199150011>paaaaaaaaa111111111111111111111>11span class="comment">   1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=sfs2_rstatic voidock" class="sref">oc9f" name="L9unttree.c#L45" id="L485" 9lass=99href="11   >11 f_root_bh" cla1111111111111>11span class="comment">   1cached_dealroo_otxfs2/refcounttree">   1cached_dealroo_otxf19350011span clasdealroos2/refcounttreedealrooref"_rettree<9flse">inod9on" clae" id="L482" class9"line992_unlock_refchead118="sref" = 0,1138 hre" id="L4if (   11spaif (ret11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
na>kordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 1"9_generatio9f">trblo/lock" class="sre9">ocf99_refexteblock>11span class="comment">   1rere_ure   1rere_urea> = tree);
20l                  (unsignec long longetaee.cacacheeow" clasmeta10sw1cache_ownerline" name="L48" clasmeta10sw1cache_owner      11spaciref=_>- class="sref">OClow_cporees(st20l2ss="lin20la>11span class="comment20la>>20l150011>paaaaaa(unsignec long longetaee.cacacheeowcpoomment">   11spacpooref">sme="L54711 7500lens2/refcounttreelenref"_>ret20lontig> *)20ltttttt(unsignwhilehref="fs/ocfs2/relens2/refcounttreelenref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree20l5ss="lin20ln" clae" id="L482" clas20ln">20l2_unlock_refcount_tsr53811685001ass="comm11   >118="sref"na>kordrees(stL57, uget_rere_ure   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=>- class="sref">OCla href="+code10ta20l6ss="lin20lsfs2_unlock_refcount_tt20lsf>20l11>pan class="comment">   11>












    _tsr53811685001cpoomment">   11spacpooref">sme="L54711 7500lens2/refcounttreelenref">sunt_unlock" 7" id="Lr2ok" a> = >unt_unlock" 7" id="Lif (   11spaif (- class="sref">OClow_cporees(st20l7ss="lin20l">trblo/lock" class="sr20l">>20l_refexteblock *)<<<<<<<<<




















unt_unlock" 7" id="Lr2" class="line" name="L482113950011
x href="+code=ocfs2_read_refcount_4 120l8ss="lin20l  if (118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree20l9ss="lin20lrblo>tree);
20l/a>a> = ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret20efa>a> =  href="+code=ocfs2_read_refcount_4 120e1ss="lin20/a>11>                  20/a>>20e                   naFT> *)trl20ele>20ea>11sp_root_bh" clreturn/a>);
11 f_rootnlock" 7" id="Lset_lens2/refcounttreeset_lenref" = a> = 10    clusteromment">   11spa  clusteroref"_ href="+code=ocfs2_read_refcount_4 120e4ss="lin20uct el">trlass="sref">ip20uct>20etttttT> *)10 610 950010tatic int (struct low_cporc#L52020e11>paf="fs/ocfs2/refco10
ef="+cp111111111* Here we may meet with 3 situations:610 950010tatic int 20e_refef="fs/ocfs2/refco10
ef="+cp111111111*610 950010tatic int 11       *<20771>20eass="f="fs/ocfs2/refco10
>>>>>>>>>>>>>>>>* 1. If we fif  fs/already existing       , and e="Llength610 950010tatic int         >>>>>>>>* 2. If we fif  f hole, just insert it with   w_cporee = 1"      }
ocfsg>b20ck">20e1500        >>>>>>>>* 3. If we are ie e="Lmiddle of on"Lext10
       , split      }
brck" class="sr20s=">20e32" cmame="L48510525001ref="+cp1>>>>>>>>*    it"      }
ef="+cp1>>>>>>>>*5610 950010tatic int 20e2_unlock_refcount_tsrh href="fs/ocfs2/reasok" a> = 10     href="+mment">   11spa  w_cporeeref" unt_uunt_utnlock" 7" id="Lle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 r2ok" a> = 10    cpoomment">   11spa  cpooref"_ aa>kordrees(stcpoomment">   11spacpooref"0unt_uunt_u010tatic int 20e11>pan class="comment">  nlock" 7" id="Lset_lens2/refcounttreeset_lenref" <= tree2027ss="lin20111 de=out" classsss20120e_refexteblock *)<<<<<<<<< 010span cltrace_" clasincrease w_cporee_change="comm11   >118trace_" clasincrease w_cporee_change   tree2028ss="lin20d="L485" class="line" na20d=">20e7" id="L547"     _tsra     naaaaaaaaa(unsignec long longetaee.cacacheeowcpoomment">   11spacpooref">sme="L54711 7500set_lens2/refcounttreeset_lenref">- class="sref">OClow_cporees(st2029ss="lin20co11
11 ="sref">ret20e/a>a> = a> = 10     href="+mment">   11spa  w_cporeeref"_x href="+code=ocfs2_read_refcount_4 1203ass="lin20d11   >112f_root_bh" cla20d11>20d1refexteblock *)<<<<<<<<< 010span class="comm11   >118="sref"na>kordrees(stL57, uchange_rere_ure   11spaciref=>ret(struct20efc>20d                   na"comment">   11>












    <<<<<<< 010span clas" class="line" name="L482113950011
s1138 hre" id="L4if (   11spaif (- class="sref">OClow_cporees(st2032ss="lin20c#L55" id="L485" class="20c#L>20d150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa     na    <<<<<<< 010span clmerge="comm11   >118mergeref=s 1x href="+code=ocfs2_read_refcount_4 12033ss="lin20a href="fcode=tree" clas20a h>20dhref="11   >11 f_root_bh" clah href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2034ss="lin20d="L481" class="line" na20d=">20dtttttt(unsignnnnnnnnnnnnnnnnn <<<<<<< 010span clmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret)_leaff="+code=b_dat20f=c>20d2_unlock_refcount_tsra     naaaaaaaaagofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 12036ss="lin20lass="line" name="L4811120las>20d11>pan class="comment">   11>FT> *)20d_refexteblock *)a> = 10     href="+mment">   11spa  w_cporeeref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2038ss="lin20"fs/ocfs2/refco11
11320"fs>20d7" id="L547"     _tsra     naa> = 10     href="+mment">   11spa  w_cporeeref" a>kordrees(sts="="as0<32mment">   11spacp"="as0<32   );
tree2041ss="lin202114 50011       str20211>20t                   na"comment">   (unsignec long longetaee.cacacheeowle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 r2ok" a> = 10    cpoomment">   11spa  cpooref"_>- class="sref">OClow_cporees(st2042ss="lin20ss="line" name="L567114120ss=>20t150011>paaaaaaaaaaaaaaaaaaaaaame="L54711 7500set_lens2/refcounttreeset_lenref"x href="+code=ocfs2_read_refcount_4 12043ss="lin20lock" class="srefte__lea20loc>20thref="11   >11 f_root_bh" cla138 hre" id="L4ass="comm11   >118="sref"na>kordrees(stL57, uinsert_rere_ure   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=>- class="sref">OCla href="+code10ta2044ss="lin20 id="L522" class="line" 20 id>20ttttttt(unsignnnnnnnnnnnnnnnnn <<<<<<<"11   >11 f_root_bh" cla138 hre" id="L4as" class="line" name="L482113950011
sfs2_ra href="+code=rere_uren_contig20t5ss="lin20->a> = >138 hre" id="L4if (   11spaif (- class="sref">OClow_cporees(st2046ss="lin20/a>11       while ((>20t11>pan class="comment">   11>












    _tsroot_bh" cla138 hre" id="L4merge="comm11   >118mergeref=s 138 hre" id="L4meta_a/a>(struct cpor#meta_a/ref=x>ret20t_refexteblock *)<<<<<<<<118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2048ss="lin20efcou11114#L547" id=20efc>20t7" id="L547"     _tsra     naaaaaaaaa 010span clmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret20t/a>a> =  href="+code=ocfs2_read_refcount_4 1205ass="lin20"+cREF_CONTIG_NONEc#L4 l20"+c>20"+1>pan class="comment">   11>FT> *)tree2052ss="lin20CONTIG_RIGHT"#L5e" id="L20CON>20"150011>paaaaaaaaaaaaaaaaanlock" 7" id="Lset_lens2/refcounttreeset_lenref" =    11spacpooref"0+  href="+code=9 lens2/refcounttreelenref"_>- class="sref">OClow_cporees(st2053ss="lin20"11   >115="sref">ret20"href="11   >11 f_root_bh" cla













taee.cacacheeowle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 r2ok" a> = 10    cpoomment">   11spa  cpooref"_0+  href="+code=9 set_lens2/refcounttreeset_lenref"xn-d   11spacpooref" href="+code=ocfs2_read_refcount_4 12054ss="lin20FTRIGHT"#L5e" id="L482" 20FTR>20"tttttt(unsignnnnnnnnnnnnnnnnnkordrees(str2ok" a> = 10    cpoomment">   11spa  cpooref" a>kordrees(sts="="as0   11spacpooref"_>ret11 ="sre" id="L4852011
>20"2_unlock_refcount_tsra     naa> = 10    clusteromment">   11spa  clusteroref"na>kordrees(sts="="as0<32mment">   11spacp"="as0<32   20"11>pan class="comment">   11>a> = 10     href="+mment">   11spa  w_cporeeref"s 1x href="+code=ocfs2_read_refcount_4 12057ss="lin20eneration" clae" id="L4820ene>20"_referet115wn_write" class2011s>20"7" id="L547"     _tsra     natree2059ss="lin20ordrees(struct iona>20ord>20"/a>a> = a> = 10    cpoomment">   11spa  cpooref"_>- class="sref">OClow_cporees(st206ass="lin20truct iona>kordr cla.ref20tru>20tr50011>paaaaaaaaaaaaaaaaaaaaaame="L54711 7500set_lens2/refcounttreeset_lenref">sme="L54711 7500le32="ass="ass="ass=11 3500<32="ass="   a> = 10     href="+mment">   11spa  w_cporeeref"_x href="+code=ocfs2_read_refcount_4 12061ss="lin20ationa>kordrees(stru20ati>20t                   na"comment138 hre" id="L4ass="comm11   >118="sref"na>kordrees(stL57, usplit   11spaciref=>ret(struct iona>k20rdr>20t150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa     na    <<<<<a138 hre" id="L4as" class="line" name="L482113950011
sfs2_ra href="+code=rere_uren_contig2063ss="lin20na>kordrees(struct i20na>>20thref="11   >11 f_root_bh" cla






























unt_unlock" 7" id="Lr2ok" a> = >138 hre" id="L4if (   11spaif (d118mergeref=sfs2_rstatic voidock" class="sref">o20t4ss="lin20porc#L54)6" id="L482" cl20por>20ttttttt(unsignnnnnnnnnnnnnnnnn <<<<<<<"11   >11 f_root_bh" cl138 hre" id="L4meta_a/a>(struct cpor#meta_a/ref=>d11 fs2_refcount_tree_p20 >1>20t2_unlock_refcount_tsra     nah href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2066ss="lin20ref="+11   >116#L555" id20ref>20t11>pan class="comment">   11>







 010span clmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret11 de=out" cl20ef=>20t_refexteblock *)<<<<<<<<<







gofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 12068ss="lin20TIG_NONEc#L4"LL" class="20TIG>20t7" id="L547"     _tsra     naFT> *) *)   11spacpooref"0+a>kordrees(stset_lens2/refcounttreeset_lenref" href="+code=ocfs2_read_refcount_4 12072ss="lin20"+11   >117 e=out" class20"+1>20r150011>paaaaaaaaa href="+code=9 lens2/refcounttreelenref"0-a>kordrees(stset_lens2/refcounttreeset_lenref" href="+code=ocfs2_read_refcount_4 12073ss="lin20umclass="sref">ocfs2_ref20umc>20rhref="11   >11 f_rootnlock" 7" id="Larelseline" name="L48arelse   20r2_unlock_refcFT> *)inobh)
20r_refefordrees(stLufs2/refcounttree"us:p_root_bh" clreturn/a>);
11       20r/a>a> = ret *)<202_r>202_ref"FT> *)20c#L>202srefb- class="sref">OClow_cporees(st2022ss="lin20acino">inobh)
2021500   1remove   11spa.andle_e_unlo011span clas.andle="comm11   >118.andleref=>ret11         20551>202href="11   >11 f_root_bh" cla







>11span class="comment">   1caching_ifff="line" name="L">   1caching_ifff_unlo011span clascimment">   11spaciref=>ret11               20500>202tttttt(unsignnnnnnnnnnnnnnnnn <<<<<<<>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OCla href="+code10ta2025ss="lin20             goto 2022_unlock_refcount_tsra     naaaaaaaaa>11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
>- class="sref">OCla href="+code10ta2026ss="lin20 class="srefREF_CONTIG_L20 cl>20211>pan class="comment">   11>







>11span class="comment">   1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=sfs2_rstatic voidock" class="sref">o2027ss="lin200011   1cached_dealroo_otxfs2/refcounttree">   1cached_dealroo_otxf19350011span clasdealroos2/refcounttreedealrooref"_ret2027" idree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2089ss="lin20ss="ass="ass="ass="ass=120ss=>202/a>a> = ret20efa>a> = 11span class="commentsuper_L4771s2/refcounttreesuper_L477119350011span classs="line" name="Lsbref"na>kordrees(stL57, umeta10sw1cache_get_supers2/refcounttree">   1meta10sw1cache_get_superref=" href="+code=9 cimment">   11spaciref=_>ret11span class="commen2020e1a>a> = 11span class="comment">   1rere_ure   1rere_ure11span clasrs="line" name="L4sref" =ret11span class="comment20/a>>20e150011>paaaaaaaaaaaaaaaaa(>11span class="comment">   1rere_ure   1rere_urea> = ret20e3a>a> = 11span class="comment">   1ext10
_="cos2/refcounttree">   1ext10
_="coa>a>  class="commentss="comm11   >118"sref">ret20etttttT> *)20e2_unlock_refc class="commentBUG_ON="comm11   >118BUG_ON   10   f_      omment">   11spa f_      on_wr.108550010   l_useck" a> = ret20ee_refcouren_adjacinod *)trblo/lock" class="sr20f">>20e_refexteblockef="fs/ocfs2/retrace_" clasremovetree2098ss="lin20   if (   11spaciref=_>- class="sref">OClow_cporees(st2099ss="lin20trblo>tree);
20e/a>a> = OClow_cporees(st21lass="lin21lasso>tree);
210code=rere_refcouren_ckordrees(stle32="ass="ass="ass=11 3500<32="ass="   10   f_cpoomment">   11spa f cpooref"__>ret11span class="commen21l/a>210srefb- class="sref">OClow_cporees(st21l2ss="lin21la>11span class="comment21la>>21l150011>pataee.cacacheeow" clasinit   1init118"sref">>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=_>ret210350011>pataee.cacacheeowass="comm11   >118="sref"na>kordrees(stL57, uremove118"sref">>kordrees(stle32="ass="ass="ass=11 3500<32="ass="   10   f_cpoomment">   11spa f cpooref"_s- class="sref">OClow_cporees(st21l4ss="lin21lefcouren_leftd *)210tttttt(unsignnnnnnnnnnnnnnnnn <<<<<<<"11s 138 hre" id="L4meta_a/a>(struct cpor#meta_a/ref=>d21l2_unlock_refch href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree21l6ss="lin21lsfs2_unlock_refcount_tt21lsf>21l11>pan class="comment 010span clmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>rettrblo/lock" class="sr21l">>21l_refexteblock *)kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 121l8ss="lin21l  if ( *)   11spaciref=>>kordrees(str2" class="line" name="L482113950011
x href="+code=ocfs2_read_refcount_4 12111ss="lin21/a>11>                  21/a>>211srefb- class="sref">OClow_cporees(st21e2ss="lin21elees(struct el">trl21ele>211150011>patame="L485105250010 610 950010tatic int 10tatic int trlass="sref">ip21uct>211rerotf="fs/ocfs2/refco10
ef="+cp1* when we runLdealroo"      }
ef="+cp1*5610 950010tatic int (struct low_cporc#L521211650011>pataee.cacacheeowass="comm11   >118="sref"na>kordrees(stL57, ucache_L4771_dealroos2/refcounttreeL57, ucache_L4771_dealroo   >kordrees(stEXTENT_ALLOC_SYSTEM_INODEs2/refcounttreeEXTENT_ALLOC_SYSTEM_INODEref"s- class="sref">OClow_cporees(st21e7ss="lin21classsssssssseeeeeeeelas21cla>211_refexteblock *)<<<<<<<<<















kordrees(stle16="ass="ass="ass=11 3500<16="ass="   10   f_subalroo_slol id="L477" clasrf"subalroo_slolref"_s- class="sref">OClow_cporees(st21e8ss="lin2177111650011       *<21771>2117" id="L547"     _tsra     naaaaaaaaa







kordrees(stle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 rs="line" name="L4sref""L477108550010   f_subalroo_roos2/refcounttree f_subalroo_rooref"_s- class="sref">OClow_cporees(st21e9ss="lin21class="line" name="L564121cla>211/a>a> = 10   f_blkef">ocfsreadere_r f_blkefref"_s- class="sref">OClow_cporees(st212ass="lin21efco7" id="L477" class="21efc>212code=rere_refcouren_c111111111111111111111


kordrees(stle16="ass="ass="ass=11 3500<16="ass="   10   f_subalroo_bits2/refcounttree f_subalroo_bitref"__>ret11               11>2121a>a> = 118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree21e2ss="lin21ck" class="sref">ocfsg>b21ck">212150011>paaaaaaaaa href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>retbrck" class="sr21s=">212href="11   >11 f_rootgofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 121e4ss="lin21cpor_endree(struct c21cpo>212tttttt(unsignFT> *)21e2_unlT> *)118="sref"na>kordrees(stL57, ujournal_access_rs="line" name="LL57, ujournal_access_rs   118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=s- class="sref">OClow_cporees(st2127ss="lin21111 de=out" classsss21121e_refexteblock *)<<<<<<<<<>11>paaaaaaaaa href="+code=9 OCFS2_JOURNAL_ACCESS_WRITEs2/refcounttreeOCFS2_JOURNAL_ACCESS_WRITEref"_>ret21e7" id="L547" h href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree21e9ss="lin21co11
11 ="sref">ret21e/a>a> = ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret112f_root_bh" cla21d11>21d1refexteblock *)kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 121d1ss="lin21efcpor_endree(struct21efc>21d             FT> *));
213350011>pataee.cacacheeowas="line" name="L4sref" =a(>11span class="comment">   1rere_ure   1rere_ure10span clas10swk" a> = ret213tttttT> *)2132_unlock_refc class="commentle32=addss="ass="ass=11 3500<32=addss="   10   f_clusteromment">   11spa f clusteroref", -1x href="+code=ocfs2_read_refcount_4 12136ss="lin21lass="line" name="L4811121las>213e_refcouren_adjacinod *)10 610 950010tatic int 11321"fs>213ass="f="fs/ocfs2/refco10
>>>>>>>>* check whether we neec to restore e="L  cl  href="+ L4771 if610 950010tatic int 214f="L4f="fs/ocfs2/refco10
>>>>>>>>*5610 950010tatic int 11       str21211>2141a>a> = 10   f_lists2/refcounttree f_listn_wr.108550010  l_next_freetree2142ss="lin21ss="line" name="L567114121ss=>21t150011>paaaaaaaaa class="commentBUG_ON="comm11   >118BUG_ON   10   f_clusteromment">   11spa f clusteroref"x href="+code=ocfs2_read_refcount_4 12143ss="lin21lock" class="srefte__lea21loc>214ontig> *)21ttttttt(unsignnnnnnnnnef="fs/ocfs2/retrace_" clasrestore1rere_uretree21t5ss="lin21->10span clasL4771nrline" name="L48asL4771nrref"x href="+code=ocfs2_read_refcount_4 12146ss="lin21/a>11       while ((>214e_refcouren_adjacinod *)21t_refexteblock *)< href="+code=9 as="line" name="L4sref""L477108550010   f_flagomment">   11spa f flagoref" =a0 href="+code=ocfs2_read_refcount_4 121t8ss="lin21efcou11114#L547" id=21efc>21t7" id="L547"     _tsr href="+code=9 as="line" name="L4sref""L477108550010   f_par10
 id="L477" clas f_par10
ref" =a0 href="+code=ocfs2_read_refcount_4 121t9ss="lin21=rere_uren_contigunt_u1"21=re>21t/a>a> = 10   f_cpoomment">   11spa f cpooref" =a0 href="+code=ocfs2_read_refcount_4 1215ass="lin21"+cREF_CONTIG_NONEc#L4 l21"+c>21"+1>pan class="comment138 hre" id="L4memsss="comm11   >118memsss   10   f_      omment">   11spa f_      on_wr, 0,1138 hre" id="L4ss="line" name="Lsbref""L477108550010  ssL4771size="comm11   >118ssL4771size1>pan-href="+code=ocfs2_read_refcount_4 12151ss="lin21f="+cREF_CONTIG_LEFT"#L521f=">21"                   nacomment138 hre" id="L4offsssofs2/refcounttree"ffsssof   11span class="comment">   1rere_ure   1rere_uresme="L54711 7500=f_      omment">   11spa f_      on_wr__>ret21"150011>paaaaaaaaanlock" 7" id="Lrs="line" name="L4sref""L477108550010   f_      omment">   11spa f_      on_wr.108550010   l_ef="+mment">   11spa l_ef="+ref" =ret115="sref">ret21"href="11   >11 f_root_bh" cla







kordrees(stcp"="as0<(struct 11spacp"="as0<   1rere_ure<   s_per_rs="line" name="LL57, urere_ure<   s_per_rs   ret215tttttt(unsignFT> *)ret21"_referet115wn_write" class2111s>21"7" idkordrees(stLufs2/refcounttree"us:p_root_bh" clreturn/a>);
(struct iona>21ord>215/a>a> = retkordr cla.ref21tru>216_ref"FT> *)OClow_cporees(st2162ss="lin21rdrees(struct iona>k21rdr>21t1500   1increase w_cporee="line" name="LL57, uincrease w_cporee      11spa.andle_e_unlo011span clas.andle="comm11   >118.andleref=>retkordrees(struct i21na>>21thref="11   >11 f_root_bh" cla



>11span class="comment">   1caching_ifff="line" name="L">   1caching_ifff_unlo011span clascimment">   11spaciref=>ret21ttttttt(unsignnnnnnnnnnnnnnnnn <<<>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OCla href="+code10ta2165ss="lin21 >11 fs2_refcount_tree_p21 >1>21t2_unlock_refcount_tsra     na1>pataee.cacacheeowuporc#L54)6" =    11spacpooref">>kordrees(stu32mment">   11spaud1500- class="sref">OCla href="+code10ta2166ss="lin21ref="+11   >116#L555" id21ref>21t11>pan class="comment">   11>



>11span class="comment">   1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=sfs2_rstatic voidock" class="sref">o2167ss="lin21ef="+11   >11 de=out" cl21ef=>21t_refexteblock *)<<<<<<<<<



>11span class="comment">   1cached_dealroo_otxfs2/refcounttree">   1cached_dealroo_otxf19350011span clasdealroos2/refcounttreedealrooref"_ret2167" idree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2169ss="lin2111   >116#L538" id="L5382111 >216/a>a> = 118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=s- class="sref">OClow_cporees(st217ass="lin21re_refcouren_contig> *)<21re_>217code=rere_refcouren_c111111111111111111111


a   11spacpooref">>kordrees(stlens2/refcounttreelenref"> 1s- class="sref">OClow_cporees(st2171ss="lin21_generation" clae" id="L21_ge>21r                   na111111111111111111111


a(struct cpor#meta_a/ref=>d117 e=out" class21"+1>21r1500 *)ocfs2_ref21umc>217ontig> *)   1decrease w_cporee   1decrease w_cporee   11spa.andle_e_unlo011span clas.andle="comm11   >118.andleref=>ret2172_unlock_refcount_tsra     na1>pa



>11span class="comment">   1caching_ifff="line" name="L">   1caching_ifff_unlo011span clascimment">   11spaciref=>ret21711>pan class="comment">   11>







>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OCla href="+code10ta21r7ss="lin21_adjacino">inobh)
217_refexteblock *)<<<<<<<<<







>11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
>- class="sref">OCla href="+code10ta21r8ss="lin21   }
   11spaif (d   11spacpooref">>unsignec head- class="sref">OCla href="+code10ta2179ss="lin217850011       217/a>a> =    1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=sfs2_rstatic voidock" class="sref">o218ass="lin212_refre_uren_contig> *)<212_r>218code=rere_refcouren_c1111111111111111>11span class="comment">   1cached_dealroo_otxfs2/refcounttree">   1cached_dealroo_otxf19350011span clasdealroos2/refcounttreedealrooref"_ret21c#L>212srefbree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2122ss="lin21acino">inobh)
218150011>pahead118="sref">ret11         21551>212href="11   >1>11span class="comment">   1rere_ure   1rere_ure11span clasrs="line" name="L4sref" =ret11               21500>212tttttt(unsignnnnnnnnnnnnnnnnn(>11span class="comment">   1rere_ure   1rere_urea> = ret2122_unlock_refc>11span class="comment">   1rere_ure   1w_cporee11span clasr2ok" a> = 10   f_      omment">   11spa f_      on_wr.108550010   l_   smment">   11spa l_   sn_wr[   11spaif (ret218e_refcouren_adjacinod *)11   11spacpooref"0<
taee.cacacheeowle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 r2ok" a> = 10    cpoomment">   11spa  cpooref"__ href="+code=ocfs2_read_refcount_4 12128ss="lin21_read_refcount_block" cl21_re>2187" id="L547" 5lock" 7" id="LBUG_ON="comm11   >118BUG_ON      11spacpooref"0+  href="+code=9 lens2/refcounttreelenref" L477href="+code=ocfs2_read_refcount_4 12129ss="lin21ss="ass="ass="ass="ass=121ss=>218/a>a> = a> = 10    cpoomment">   11spa  cpooref"_0+  href="+code=9 le32="ass="ass="ass=11 3500<32="ass="   a> = 10    clusteromment">   11spa  clusteroref"__ href="+code=ocfs2_read_refcount_4 1219ass="lin21efco7" id="L477" class="21efc>219ereferet11span class="commen2121e1a>a> = 10  trace_" clasdecrease w_cporee11span class="comment21/a>>21e150011>paaaaaaaaa(unsignec long longetaee.cacacheeow" clasmeta10sw1cache_ownerline" name="L48" clasmeta10sw1cache_owner      11spaciref=_>- class="sref">OClow_cporees(st2193ss="lin21unttree.c#L45" id="L485"21unt>219href="11   >11 f_root(unsignec long longetaee.cacacheeowcpoomment">   11spacpooref">>kordrees(stlens2/refcounttreelenref"_ href="+code=ocfs2_read_refcount_4 12194ss="lin21refcouren_leftd *)21etttttT> *)21e2_unlock_refch href="fs/ocfs2/recpoomment">   11spacpooref"0=a>kordrees(stle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 r2ok" a> = 10    cpoomment">   11spa  cpooref"_0unt_uunt_uT> *)kordrees(stle32="ass="ass="ass=11 3500<32="ass="   a> = 10    clusteromment">   11spa  clusteroref"__T> *)trblo/lock" class="sr21f">>219_refexteblock *)< href="+code=9 ass="comm11   >118="sref"na>kordrees(stL57, uchange w_cporee   1change w_cporee118.andleref=>>kordrees(stcimment">   11spaciref=>T> *)21e7" id="L547"     _tsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr11span clasr2" class="line" name="L482113950011
>d   11spaif (d1, -1x href="+code=ocfs2_read_refcount_4 12199ss="lin21trblo>tree);
21e/a>a> = tree22lass="lin22lasso>tree);
220code=rere_refcouren_c>11span class="comment">   1rere_ure   1w_cporeea> = 11span class="commen22l/a>220                   na10    cpoomment">   11spa  cpooref" a>kordrees(sts="="as0   11spacpooref"_>ret11span class="comment22la>>220150011>paaaaaaaaanlock" 7" id="Lsplits2/refcounttreesplit   <.108550010    clusteromment">   11spa  clusteroref"na>kordrees(sts="="as0<32mment">   11spacp"="as0<32   220ontig> *)220tttttt(unsignnnnnnnnnkordrees(stle32=addss="ass="ass=11 3500<32=addss="      11spa  rere_ureref=>d-1x href="+code=ocfs2_read_refcount_4 122l5ss="lin22ln" clae" id="L482" clas22ln">2202_unlT> *)10span class="comm11   >118="sref"na>kordrees(stL57, usplit   11spaciref=>rettrblo/lock" class="sr22l">>22l_refexteblock *)11span clasr2" r class="comm11   >118="" r classref=>r11span clasr2" class="line" name="L482113950011
>ret2207" id="L547"     _tsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrunt_unlock" 7" id="Lsplits2/refcounttreesplit   <>d   11spaif (d1,rettree);
220/a>a> = OClow_cporees(st22e2ss="lin22elees(struct el">trl22ele>221150011>pah href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree22e3ss="lin22class="srebh)
221href="11   >11 f_rootnlock" 7" id="Lmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>rettrlass="sref">ip22uct>221tttttt(unsignnnnnnnnngofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 122e5ss="lin22ref="+code=rb" class="sr22ref>2212_unlock_refcFT> *)221_refexteblocktame="L485105250010  Remove e="L9500L*5610 950010tatic int 11       *<22771>2217" id="L547" h hr! href="+code=9 rs="line" name="L4sref""L477108550010   f_      omment">   11spa f_      on_wr.108550010   l_useck" a> = 11span clasr2" class="line" name="L482113950011
 !a>kordrees(str2" r class="comm11   >118="" r classref=_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree22e9ss="lin22class="line" name="L564122cla>221/a>a> = 118="sref"na>kordrees(stL57, uremove   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=s- class="sref">OClow_cporees(st222ass="lin22efco7" id="L477" class="22efc>222code=rere_refcouren_c111111111111111111111


 href="+cp1 010span clas" class="line" name="L482113950011
>d(struct cpor#meta_a/ref=sfs2_rstatic voidock" class="sref">o22e1ss="lin22>11               11>222                   na111111111111111111111


ahref="+cp1 010span cldealroos2/refcounttreedealrooref"_ href="+code=ocfs2_read_refcount_4 122e2ss="lin22ck" class="sref">ocfsg>b22ck">222150011>paaaaaaaaah href="fs/ocfs2/reass="comm11   >118="sref"_href="+code=ocfs2_read_refcount_4 122e3ss="lin22s="sref">brck" class="sr22s=">222href="11   >11 f_rootef="+cp1 010span clmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret(struct c22cpo>222tttttt(unsignFT> *)22e2_unlT> *):p_root_bh" clreturn/a>);
11 de=out" classsss22122e_refexteblockreturnc118="sref">ret22e7" idFT> *)ret222e="L4href="+code=ocfs2_read_refcount_4 1223ass="lin22d11   >112f_root_bh" cla22d11>22d1refestatic head   11spa.andle_e_unlo011span clas.andle="comm11   >118.andleref=>ret(struct22efc>223                   na111111111111111111111>11span class="comment">   1caching_ifff="line" name="L">   1caching_ifff_unlo011span clascimment">   11spaciref=>ret223150011>paaaaaaaaaaaaaaaaa1111111111111>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OCla href="+code10ta2233ss="lin22a href="fcode=tree" clas22a h>223href="11   >11 f_rootef="+cp1_rootef="+cp1 010span cluporc#L54)6" =    11spacpooref">>kordrees(stu32mment">   11spaud1500- class="sref">OCla href="+code10ta2234ss="lin22d="L481" class="line" na22d=">223tttttt(unsignnnnnnnnnnnnnnnnn <<<<<<<"1111>11span class="comment">   1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=sfs2_rstatic voidock" class="sref">o2235ss="lin22f=c>)_leaff="+code=b_dat22f=c>2232_unlock_refcount_tsra     na1>pa



"1111>11span class="comment">   1cached_dealroo_otxfs2/refcounttree">   1cached_dealroo_otxf19350011span clasdealroos2/refcounttreedealrooref"sfs2_rstatic voidock" class="sref">o2236ss="lin22lass="line" name="L4811122las>22311>pan class="comment">   11>












head118deleteref"_href="+code=ocfs2_read_refcount_4 12237ss="lin22
11322"fs>2237" id="L547" head118="sref" =a0>d   11spaif (   1rere_ure   1w_cporeea> = );
   11spa _ef="+ref" =a0>d11       str22211>2241a>a> = 11span class="commentsuper_L4771s2/refcounttreesuper_L477119350011span classs="line" name="Lsbref"na>kordrees(stL57, umeta10sw1cache_get_supers2/refcounttree">   1meta10sw1cache_get_superref=" href="+code=9 cimment">   11spaciref=_>ret22t150011>pa>11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
na>kordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 12243ss="lin22lock" class="srefte__lea22loc>224ontig> *)22ttttttt(unsignkordrees(sttrace_" clasdecrease w_cporeeline" name="L48trace_" clasdecrease w_cporeeref="> *)->   11spaciref=_>- class="sref">OClow_cporees(st2246ss="lin22/a>11       while ((>22411>pan class="comment(unsignec long longetaee.cacacheeowcpoomment">   11spacpooref">>kordrees(stlens2/refcounttreelenref">d118deleteref"_ href="+code=ocfs2_read_refcount_4 12247ss="lin22unttree.c#L45" id="L485"22unt>224_referet114#L547" id=22efc>22t7" id="L547" whilehref="fs/ocfs2/relens2/refcounttreelenref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree22t9ss="lin22=rere_uren_contigunt_u1"22=re>22t/a>a> = kordrees(stL57, uget_rere_ure   1get_rere_ure   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=s- class="sref">OClow_cporees(st225ass="lin22"+cREF_CONTIG_NONEc#L4 l22"+c>22"+1>pan class="commentttttttttttttttttttttttttttttttaee.cacacheeowcpoomment">   11spacpooref">>kordrees(stlens2/refcounttreelenref">dunt_unlock" 7" id="Lr2ok" a> = dunt_unlock" 7" id="Lif (   11spaif (- class="sref">OClow_cporees(st2251ss="lin22f="+cREF_CONTIG_LEFT"#L522f=">22"                   nacommentttttttttttttttttttttttunt_unlock" 7" id="Lr2" class="line" name="L482113950011
x href="+code=ocfs2_read_refcount_4 12252ss="lin22CONTIG_RIGHT"#L5e" id="L22CON>22"150011>paaaaaaaaah href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2253ss="lin22"11   >115="sref">ret22"href="11   >11 f_root_bh" cla 010span clmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret225tttttt(unsignnnnnnnnnnnnnnnnngofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 12255ss="lin2211
11 ="sre" id="L4852211
>2252_unlock_refcount_tsrFT> *)   11spa _ef="+ref" =akordrees(stle32="ass="ass="ass=11 3500<32="ass="   a> = 10    rere_uremment">   11spa  rere_ureref=_>ret115wn_write" class2211s>2257" id="L547"     _tsr href="+code=9 BUG_ON="comm11   >118BUG_ON      11spa _ef="+ref" ==a0_>ret(struct iona>22ord>225/a>a> = kordr cla.ref22tru>226+1>pan class="commenttttttttt href="+code=9 BUG_ON="comm11   >118BUG_ON      11spa _ef="+ref" L477 1x href="+code=ocfs2_read_refcount_4 12261ss="lin22ationa>kordrees(stru22ati>226srefb- class="sref">OClow_cporees(st2262ss="lin22rdrees(struct iona>k22rdr>226150011>paaaaaaaaanlock" 7" id="Lr_lens2/refcounttreer_lenn_wr =akordrees(stmins2/refcounttreemin      11spacpooref"0+  href="+code=9 lens2/refcounttreelenref")>>kordrees(stle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 r2ok" a> = 10    cpoomment">   11spa  cpooref") +- class="sref">OClow_cporees(st2263ss="lin22na>kordrees(struct i22na>>22thref="11   >11 f_root_bh" cla



nnkordrees(stle32="ass="ass="ass=11 3500<32="ass="   a> = 10    clusteromment">   11spa  clusteroref"__ -ttaee.cacacheeowcpoomment">   11spacpooref" href="+code=ocfs2_read_refcount_4 12264ss="lin22porc#L54)6" id="L482" cl22por>226tttttT> *)kordrees(stL57, udecrease w_cporee   1decrease w_cporee118.andleref=>>kordrees(stcimment">   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=s- class="sref">OClow_cporees(st2266ss="lin22ref="+11   >116#L555" id22ref>22t11>pan class="comment">   11>



1 f_root_bh" cla



nnkordrees(str2" class="line" name="L482113950011
>d   11spaif (- class="sref">OClow_cporees(st2267ss="lin22ef="+11   >11 de=out" cl22ef=>22t_refexteblock *)<<<<<<<<<



1 f_root_bh" cla



nnkordrees(stcpoomment">   11spacpooref">>kordrees(str_lens2/refcounttreer_lenn_wr>- class="sref">OClow_cporees(st2268ss="lin22TIG_NONEc#L4"LL" class="22TIG>2267" id="L547"     _tsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr11span clasmeta_a/a>(struct cpor#meta_a/ref=>d116#L538" id="L5382211 >226/a>a> = tree227ass="lin22re_refcouren_contig> *)<22re_>227code=rere_refcouren_c11111111 010span clmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret22r                   na11111111gofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 12272ss="lin22"+11   >117 e=out" class22"+1>227150011>paaaaaaaaaFT> *)ocfs2_ref22umc>227ontig> *)a> = 10    rere_uremment">   11spa  rere_ureref=_ ==a10unt_uunt_ur11span clasdelete="comm11   >118deleteref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2275ss="lin22ref="+code=rb" class162272_unlock_refcount_tsra     na href="+code=9 rss="comm11   >118="sref"na>kordrees(stL57, ucache_cluster_dealroos2/refcounttreeL57, ucache_cluster_dealroo   o22r6ss="lin22efcount_block" class="sr22efc>22711>pan class="comment">   11>







sra     na href="+code=9 L57, uclustero="asL4771ss2/refcounttreeL57, uclustero="asL4771s   >kordrees(stcpoomment">   11spacpooref"_sfs2_rstatic voidock" class="sref">o22r7ss="lin22_adjacino">inobh)
227_refexteblock *)<<<<<<<<<







">   11>







sra     na href="+code=9 r_lens2/refcounttreer_lenn_wr_>ret2277" id="L547"     _tsra     nah href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2279ss="lin227850011       227/a>a> = ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret *)<222_r>228code=rere_refcouren_c1111111111111111gofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 12281ss="lin22c#L4block" class="sref">22c#L>228                   na11111111FT> *)inobh)
228150011>paaaaaaaaaFT> *)11               22500>222tttttt(unsignnnnnnnnn href="+code=9 cpoomment">   11spacpooref"0+a>kordrees(str_lens2/refcounttreer_lenn_wr href="+code=ocfs2_read_refcount_4 12225ss="lin22             goto 2282_unlock_refcount_tsr href="+code=9 lens2/refcounttreelenref" -a>kordrees(str_lens2/refcounttreer_lenn_wr href="+code=ocfs2_read_refcount_4 12226ss="lin22 class="srefREF_CONTIG_L22 cl>22811>pan class="comment 010span clbrelsek" a> = 228_refexteblock *)< href="+code=9 as" class="line" name="L482113950011
na>kordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 12228ss="lin22_read_refcount_block" cl22_re>2287" id="L547" FT> *):p_root_bh" clreturn/a>);
11span class="commen2222e1a>a> = 10  brelsek" a> = >22e150011>pareturnc118="sref">ret229href=FT> *)22e2_unltame="L485105250010  Calrer must hold *5610 950010tatic int 22911>pahead   1decrease w_cporee id="L477" clas">   1decrease w_cporeeref=">11span class="commentinmenmment">   11spaifmen50011span clasinmenmment">   11spaifmen500o2297ss="lin22f">trblo/lock" class="sr22f">>229_refexteblock *) *)< href="+code=9 .andle_emment">   11spa.andle_e_unlo011span clas.andle="comm11   >118.andleref=>>kordrees(stu32mment">   11spaud1500   11spacpooref">>kordrees(stu32mment">   11spaud1500- class="sref">OCla href="+code10ta2298ss="lin22   if (11span class="comment">   1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=sfs2_rstatic voidock" class="sref">o2299ss="lin22trblo>tree);
229/a>a> =    1cached_dealroo_otxfs2/refcounttree">   1cached_dealroo_otxf19350011span clasdealroos2/refcounttreedealrooref"sfs2_rstatic voidock" class="sref">o23lass="lin23lasso>tree);
230code=rere_refcouren_ccccccccccccchead118deleteref"_href="+code=ocfs2_read_refcount_4 123l1ss="lin23l/a>11span class="commen23l/a>230srefbree_puteeeeeeeeeeeeeeeeeeeeeeee>tree23l2ss="lin23la>11span class="comment23la>>230150011>pahead118="sref">ret2303a>a> = 10  uporc#L54)6" = ocfsreadere_r2113blkefref">ret230tttttt(unsign>11span class="comment">   1ifmen_ifff="line" name="L">   1ifmen_ifff19350011span clasoimment">   11spaoi>11
na>kordrees(stOCFS2_Imment">   11spaOCFS2_Iref=" href="+code=9 inmenmment">   11spaifmen5002302_unlock_refc>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=na>kordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 123l6ss="lin23lsfs2_unlock_refcount_tt23lsf>23l11>pan class=>11span class="comment">   1rere_ure   1rere_ure11span clasount="line" name="Lount1935 href="+code=ocfs2_read_refcount_4 123l7ss="lin23l">trblo/lock" class="sr23l">>230_referet2307" id="L547" 11span clasBUG_ON="comm11   >118BUG_ON      11spaoi>11
"L477108550010  ip_dyn_featureomment">   11spaip_dyn_featureo" id=unt_ur11span clasOCFS2_HAS_REFCOUNT_FLline" name="L48OCFS2_HAS_REFCOUNT_FLref"__ href="+code=ocfs2_read_refcount_4 123l9ss="lin23lrblo>tree);
230e="L4href="+code=ocfs2_read_refcount_4 1231ass="lin23efco7" id="L477" class="23efc>231attttt(unsign href="+code=9 rss="comm11   >118="sref"na>kordrees(stL57, uget_rere_ure   1get_rere_ure   11spaifmen500<>dunt_unlock" 7" id="Lr213blkef">ocfsreadere_r2113blkefref"_ href="+code=ocfs2_read_refcount_4 12311ss="lin23/a>11>                  23/a>>2311a>a> = 118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree23e2ss="lin23elees(struct el">trl23ele>231150011>paaaaaaaaanlock" 7" id="Lmlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret)
231href="11   >11 f_rootgofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 123e4ss="lin23uct el">trlass="sref">ip23uct>231tttttt(unsignFT> *)118="sref"na>kordrees(stL57, uget_rere_ure   1get_rere_ure   11spaifmen500<"L477108550010  i_ss="line" name="Li_ssref"_saocfsreadere_r2113blkefref">dunt_unlock" 7" id="Lount="line" name="Lount1935_>ret231_refexteblockh href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree23e8ss="lin2377111650011       *<23771>2317" id="L547"     _tsr href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret231/a>a> =  href="+code=ocfs2_read_refcount_4 1232ass="lin23efco7" id="L477" class="23efc>232attttt(unsignFT> *)OClow_cporees(st23e2ss="lin23ck" class="sref">ocfsg>b23ck">232150011>pataee.cacacheeowrss="comm11   >118="sref"na>kordrees(stL57, ureac_rere_ure   1reac_rere_ure10   f_cimment">   11spa f_ciref">>kordrees(stount="line" name="Lount1935"L477108550010   f_blkef">ocfsreadere_r213blkefref">- class="sref">OClow_cporees(st23e3ss="lin23s="sref">brck" class="sr23s=">232href="11   >11 f_rootef="+cp11111111111111111unt_unlock" 7" id="Lr213r class="comm11   >118="" r classref=_ href="+code=ocfs2_read_refcount_4 12324ss="lin23cpor_endree(struct c23cpo>232tttttt(unsignh href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree23e5ss="lin23ne" name="L48111245002322_unlock_refcount_tsr href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret23211>pan class="commentgofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 12327ss="lin23111 de=out" classsss23123e_refexteblockFT> *) *)ret232950011>pataee.cacacheeowrss="comm11   >118="sref"na>kordrees(st__" clasdecrease w_cporee="comm11   >118__" clasdecrease w_cporee   118.andleref=>>unt_unlock" 7" id="Lount="line" name="Lount1935"L477108550010   f_cimment">   11spa f_ciref">>kordrees(str213r class="comm11   >118="" r classref=>- class="sref">OClow_cporees(st233ass="lin23d11   >112f_root_bh" cla23d11>233+1>pan class="commenttttttttttttttttttttttttt class="commentcpoomment">   11spacpooref">>kordrees(stlens2/refcounttreelenref">d(struct cpor#meta_a/ref=>dd118deleteref"_ href="+code=ocfs2_read_refcount_4 123d1ss="lin23efcpor_endree(struct23efc>2331a>a> = 118="sref"_href="+code=ocfs2_read_refcount_4 123d2ss="lin23c#L55" id="L485" class="23c#L>233150011>paaaaaaaaa href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret233href=kordrees(stLufs2/refcounttree"us:p_root_bh" clreturn/a>);
a> = )_leaff="+code=b_dat23f=c>2332_unlock_refcreturnc118="sref">ret23311>paFT> *)233_referet11323"fs>2337" idtame="L485105250010 610 950010tatic int 1 * Mark e="Lalreacy-existing ext10
 at cpoo as 10tatic int );
1 * Thio adds e="L href="+ ext10
 flag.610 950010tatic int 11       str23211>2341a>a>tame="L48510525001 *610 950010tatic int 1 * If e="Lexisting ext10
 io larger e=e="e="L hquest, initiat"La610 950010tatic int 1 * split. An attempt will be made at merging with adjace"+ ext10
o.610 950010tatic int 23tttttttame="L48510525001 *610 950010tatic int ->1 * The calrer is 10tatic int 11       while ((>23411>patame="L48510525001 *5610 950010tatic int 234_refestatic head   1mark11span class="commentinmenmment">   11spaifmen50011span clasinmenmment">   11spaifmen500o23t8ss="lin23efcou11114#L547" id=23efc>2347" id="L547"     _tsrrrrrrrrrrrrrrrrr>11span class="comment">   1ext10
_ount="line" name="L">   1ext10
_ount50011span classs="comm11   >118"sref"sfs2_rstatic voidock" class="sref">o23t9ss="lin23=rere_uren_contigunt_u1"23=re>23t/a>a> =    11spa.andle_e_unlo011span clas.andle="comm11   >118.andleref=>>kordrees(stu32mment">   11spaud1500   11spacpooref">fs2_rstatic voidock" class="sref">o235ass="lin23"+cREF_CONTIG_NONEc#L4 l23"+c>23"+1>pan class="commentttttttttttttttttkordrees(stu32mment">   11spaud1500d   11spaud1500   11spaphyoref">fs2_rstatic voidock" class="sref">o2351ss="lin23f="+cREF_CONTIG_LEFT"#L523f=">23"                   nacommentttttttttt>11span class="comment">   1alroo_ock"exfs2/refcounttree">   1alroo_ock"exf19350011span clasmeta_a/a>(struct cpor#meta_a/ref=sfs2_rstatic voidock" class="sref">o2352ss="lin23CONTIG_RIGHT"#L5e" id="L23CON>23"150011>paaaaaaaaacommentttttttttt>11span class="comment">   1cached_dealroo_otxfs2/refcounttree">   1cached_dealroo_otxf19350011span clasdealroos2/refcounttreedealrooref"_href="+code=ocfs2_read_refcount_4 12353ss="lin23"11   >115="sref">ret23"href=ree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2354ss="lin23FTRIGHT"#L5e" id="L482" 23FTR>235tttttt(unsignhead118="sref">ret11 ="sre" id="L4852311
>2352_unlT> *)   11spaOCFS2_Iref=" href="+code=9 inmenmment">   11spaifmen50010  ip_blkef">ocfsreadere_rip_blkefref=sfs2_rstatic voidock" class="sref">o2357ss="lin23eneration" clae" id="L4823ene>235_refexteblock *)(stcpoomment">   11spacpooref">>kordrees(stlens2/refcounttreelenref">d   11spaphyoref"_ href="+code=ocfs2_read_refcount_4 12358ss="lin2311spa>115wn_write" class2311s>2357" idT> *)   1rere_ure   1rere_ure   11spaifmen500<"L477108550010  i_ss="line" name="Li_ssref"_)_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree236ass="lin23truct iona>kordr cla.ref23tru>236+1>pan class="comment class="comment">   1errorline" name="L48" claserrorref=" href="+code=9 inmenmment">   11spaifmen500<"L477108550010  i_ss="line" name="Li_ssref",ktame="L485105>11ing">"Ifmen %lu waf= Lo us"L href="+ "610 950010tatic int kordrees(stru23ati>236                   nacommentttttttame="L485105>11ing">"code, but"e="Lfeature bi
 io not se
 i="e="L"610 950010tatic int (struct iona>k23rdr>236150011>paaaaaaaaacommentttttttame="L485105>11ing">"super L4771."610 950>d   11spaifmen500<"L477108550010  i_ief">ocfsreadere_ri_iefref"_ href="+code=ocfs2_read_refcount_4 12363ss="lin23na>kordrees(struct i23na>>23thref="11   >11 f_roottaee.cacacheeowrss="comm11   >118="sref"na>-taee.cacacheeowEROFS="comm11   >118EROFSref">ret236tttttt(unsignnnnnnnnngofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 12365ss="lin23 >11 fs2_refcount_tree_p23 >1>23t2_unlock_refcFT> *)116#L555" id23ref>236e_refcouren_adjacinod *)23t_refexteblocktaee.cacacheeowrss="comm11   >118="sref"na>kordrees(stL57, uc.ange   1c.ange118.andleref=>>11span classs="comm11   >118"sref"s/ class="commentcpoomment">   11spacpooref">fs2_rstatic voidock" class="sref">o2368ss="lin23TIG_NONEc#L4"LL" class="23TIG>2367" id="L547"     _tsrrrrrrrrrrrrrrrrrrrrrrrrkordrees(stlens2/refcounttreelenref">d   11spaphyoref">d(struct cpor#meta_a/ref=>dfs2_rstatic voidock" class="sref">o2369ss="lin2311   >116#L538" id="L5382311 >236/a>a> =  *)<23re_>237code=rere_refh href="fs/ocfs2/reass="comm11   >118="sref"_href="+code=ocfs2_read_refcount_4 12371ss="lin23_generation" clae" id="L23_ge>23r                   na href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret117 e=out" class23"+1>2371500ocfs2_ref23umc>237href=kordrees(stLufs2/refcounttree"us:p_root_bh" clreturn/a>);
118="sref">ret2372_unlFT> *)inobh)
237_refetame="L485105250010 610 950010tatic int 10tatic int 11       237/a>a>tame="L48510525001 * for modifying e="irL href="+.610 950010tatic int  *)<232_r>238code=tame="L48510525001 *5610 950010tatic int 23c#L>238     static head11span classs="line" name="Lsbref">fs2_rstatic voidock" class="sref">o2322ss="lin23acino">inobh)
238150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>11span class="comment">   1caching_ifff="line" name="L">   1caching_ifff_unlo011span clascimment">   11spaciref=>ret11         23551>238href="11   >11 f_rootef="+cp11111111111111111aaaa>11span class="commentbuffer_heack" a> = 11span clasr2" r class="comm11   >118="" r classref=>- class="sref">OCla href="+code10ta2324ss="lin2350011               23500>232tttttt(unsignnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn   11spastart cpooref=>- class="sref">OCla href="+code10ta2325ss="lin23             goto 2382_unlock_refcount_tsrnnnnnnnnnnnnnnnnnnnnnnnnnnnn   11spaud1500   11spaclusteroref">- class="sref">OCla href="+code10ta2326ss="lin23 class="srefREF_CONTIG_L23 cl>23811>pan class="commenttttttttttttttttttttttttttttthead011span clasmeta_adck" a> = - class="sref">OCla href="+code10ta2327ss="lin2300112387" idree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2329ss="lin23ss="ass="ass="ass="ass=123ss=>238/a>a> = d   11spaif (da> = ret239attttt(unsign href="+code=9 uporc#L54)6" =    11spacpooref"na>kordrees(ststart cpoomment">   11spastart cpooref=>ret11span class="commen232391a>a> = 11span class="comment">   1rere_ure   1rere_ure11span clasrs="line" name="Lrbref=>ret11span class="comment23/a>>239150011>pa>11span class="comment">   1rere_ure   1w_cporeea> = 239350011>pa>11span class="commentbuffer_heack" a> = 11span clasr2" class="line" name="L482113950011
na>kordrees(stNULLline" name="L48NULLn_wr,0011span clasprevs="line" name="L48prevs=">11
na>kordrees(stNULLline" name="L48NULLn_wr href="+code=ocfs2_read_refcount_4 12394ss="lin23refcouren_leftd *)239tttttt(unsign108550010  u32mment">   11spaud15002392_unlT> *)   11spaclusteroref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2397ss="lin23f">trblo/lock" class="sr23f">>239_refexteblock *)118="sref"na>kordrees(stL57, uget_rere_ure   1get_rere_ure   11spaciref=>sme="L54711 7500="" r class="comm11   >118="" r classref=s- class="sref">OClow_cporees(st2398ss="lin23   if ((stcpoomment">   11spacpooref">>kordrees(stclusteromment">   11spaclusteroref">dunt_unlock" 7" id="Lr2ok" a> = - class="sref">OClow_cporees(st2399ss="lin23trblo>tree);
239/a>a> =    11spaif (tunt_unlock" 7" id="Lr2" class="line" name="L482113950011
x href="+code=ocfs2_read_refcount_4 124lass="lin24lasso>tree);
240code=rere_refcouren_ch href="fs/ocfs2/reass="comm11   >118="sref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree24l1ss="lin24l/a>11span class="commen24l/a>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11   >118="sref"_>ret11span class="comment24la>>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcounttree"us href="+code=ocfs2_read_refcount_4 124l3ss="lin24lnttree.c#L45" id="L485"24lnt>240href="11   >11 f_rootFT> *)2402_unlock_refcount_tsrh href="fs/ocfs2/reas" class="line" name="L482113950011
n!a>kordrees(stprevs="line" name="L48prevs=">11
_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree24l6ss="lin24lsfs2_unlock_refcount_tt24lsf>24011>pan class="commenttttttttttame="L485105250010 610 950010tatic int trblo/lock" class="sr24l">>240_refetame="L48510525001n class="commenttttttttt * Now we enhref=er a new 9500 L4771, so calculat"610 950010tatic int 1  class="commenttttttttt *5610 950010tatic int 11
_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2411ss="lin24/a>11>                  24/a>>241                   nacommentttttttttt11span clasrs="line" name="Lrbref=na>">11span class="comment">   1rere_ure   1rere_uretrl24ele>241150011>paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaef="fs/ocfs2/reprevs="line" name="L48prevs=">11
"L477108550010  b_10swk" a> =  href="+code=ocfs2_read_refcount_4 124e3ss="lin24class="srebh)
241ontig> *)trlass="sref">ip24uct>241tttttt(unsignnnnnnnnnnnnnnnnnnnnnnnnnh href="fs/ocfs2/rele16="ass="ass="ass=11 3500<16="ass="ref=" href="+code=9 1s="line" name="Lrbref="L477108550010   f_ 2oordss2/refcounttree2f_ 2oordsref=.108550010   l_useds2/refcounttree l_used>11
_t+- class="sref">OClow_cporees(st24e5ss="lin24ref="+code=rb" class="sr24ref>2412_unlock_refcount_tsrnnnnnnnnnnnnnnnnnnnna> = OClow_cporees(st24e6ss="lin24(struct low_cporc#L52424111>pan class="commentttttttttttttttttttttef="fs/ocfs2/rele16="ass="ass="ass=11 3500<16="ass="ref=" href="+code=9 1s="line" name="Lrbref="L477108550010   f_ 2oordss2/refcounttree2f_ 2oordsref=.108550010   l_poree="comm11   >118 l_poree>11
__href="+code=ocfs2_read_refcount_4 124e7ss="lin24classsssssssseeeeeeeelas24cla>241_refexteblock *)OClow_cporees(st24e8ss="lin2477111650011       *<24771>2417" id="L547"     _tsrrrrrrrrrFT> *)a> = ret11               11>242                   nacommentt011span clascreditss2/refcounttreecreditsref=0+a>1>retocfsg>b24ck">242150011>paaaaaaaaaaaaaaaaa108550010  brelsek" a> = 11
_>retbrck" class="sr24s=">242href="11   >11 f_rootef="+cp111span clasprevs="line" name="L48prevs=">11
na>kordrees(stas" class="line" name="L482113950011
>ret(struct c24cpo>242tttttt(unsignnnnnnnnnnnnnnnnnkordrees(stget_="line" name="L48get_="ref=" href="+code=9 prevs="line" name="L48prevs=">11
_>ret2422_unlock_refcount_tsrFT> *)11 de=out" classsss241242_refexteblock *)11span class="comment">   1rere_ure   1rere_ure(stas" class="line" name="L482113950011
"L477108550010  b_10swk" a> =  href="+code=ocfs2_read_refcount_4 124e8ss="lin24d="L485" class="line" na24d=">24e7" idT> *)ret242/a>a> = 118trace_" clascalc1rere_ure *)243+1>pan class="commenttttttttttttttttt 010span clrecs_adck" a> = (stcpoomment">   11spacpooref">>kordrees(stclusteromment">   11spaclusteroref">T> *)a> = 10    cpoomment">   11spa  cpooref")>T> *)a> = 10    clusteromment">   11spa  clusteroref"_>T> *)243href="11   >11 f_rootef="+cp111111111 010span clle32="ass="ass="ass=11 3500<32="ass="   a> = 10    _CONTIG_mment">   11spa  _CONTIG_ref"_>d   11spaif (ret243tttttT> *)2432_unlock_refcount_tsr class="commentlens2/refcounttreelenref"na>kordrees(stmins2/refcounttreemin   (stcpoomment">   11spacpooref" +>kordrees(stclusteromment">   11spaclusteroref">dkordrees(stle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 r2ok" a> = 10    cpoomment">   11spa  cpooref")t+- class="sref">OClow_cporees(st2436ss="lin24lass="line" name="L4811124las>24311>pan class="commenttttttttttt 010span clle32="ass="ass="ass=11 3500<32="ass="   a> = 10    clusteromment">   11spa  clusteroref"_) -rkordrees(stcpoomment">   11spacpooref">ret243_refexteblock *)10 610 950010tatic int 11324"fs>2437" idtame="L48510525001commenttttttttttt* W"L hoord all"e="L hoords=which will be insertec Lo e="610 950010tatic int 1 ommenttttttttttt* slasL href="+ L4771, so that we ce="eell exactly whether610 950010tatic int );
1 ommenttttttttttt* we neec a new  href="+ L4771 or not.610 950010tatic int 11       str24211>2441a>a>tame="L48510525001 ommenttttttttttt*610 950010tatic int 1 ommenttttttttttt* I hwe will insert a new one, this io easy and only happens610 950010tatic int 1 ommenttttttttttt* du1ing adding  href="+ed flag Lo e=" ext10
, so we don't610 950010tatic int 24tttttttame="L48510525001 ommenttttttttttt* have a c.ance of spliting. W"Ljust neec oneL hoord.610 950010tatic int ->1 ommenttttttttttt*610 950010tatic int 11       while ((>24411>patame="L48510525001 ommenttttttttttt* I he="L href="+  hoLalreacyLexists, that would be a littl"610 950010tatic int 244_refetame="L48510525001n class="commentt* 250plicated. we may have to:610 950010tatic int 114#L547" id=24efc>2447" idtame="L48510525001commenttttttttttt* 1) split at e="Lbeginning i he="Lstart poo isn'tLaligned.610 950010tatic int 244/a>a>tame="L48510525001 ommenttttttttttt*    we neec 1 mor"L hoord i="e=io case.610 950010tatic int 245code=tame="L48510525001 ommenttttttttttt* 2) split heade=" end i he="Lend poo isn'tLaligned.610 950010tatic int 1 ommenttttttttttt*    we neec 1 mor"L hoord i="e=io case.610 950010tatic int 1 ommenttttttttttt* 3) split hehe="Lmiddl"Lbecaus"Lof filehsystem frag010tatic int 115="sref">ret245ontigtame="L48510525001 ommenttttttttttt*    we neec 2 mor"L hoords i="e=io case(we ce='tLdetect"e=io610 950010tatic int 245ttttttame="L48510525001 ommenttttttttttt*    befor".and, so always e=inkLof e="Lworst case).610 950010tatic int 11 ="sre" id="L4852411
>2452_unltame="L48510525001 ommenttttttttttt*5610 950010tatic int 24511>pan class="commenth href="fs/ocfs2/reasok" a> = 10    _CONTIG_mment">   11spa  _CONTIG_ref"_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree2457ss="lin24eneration" clae" id="L4824ene>245_refexteblock *)10span clrecs_adck" a> = ret115wn_write" class2411s>2457" id="L547"     _tsrrrrrrrrrtame="L485105250010  Che71 whether we neec a split at e="Lbeginning.>*5610 950010tatic int (struct iona>24ord>245/a>a> =    11spacpooref"naa>kordrees(ststart cpoomment">   11spastart cpooref=tunt_uunt_u010tatic int kordr cla.ref24tru>246+1>pan class="comment *)10span clcpoomment">   11spacpooref"n!a>kordrees(stle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 r2ok" a> = 10    cpoomment">   11spa  cpooref")_href="+code=ocfs2_read_refcount_4 12461ss="lin24ationa>kordrees(stru24ati>246                   nacommenttttttcomm 010span clrecs_adck" a> = OClow_cporees(st2462ss="lin24rdrees(struct iona>k24rdr>2461500kordrees(struct i24na>>24thref="11   >11 f_rootrrrrrrrrtame="L485105250010  Che71 whether we neec a split hehe="Lend.>*5610 950010tatic int 246tttttt(unsignnnnnnnnn11111111h href="fs/ocfs2/recpoomment">   11spacpooref"n+>kordrees(stclusteromment">   11spaclusteroref" <ur11span clasle64="ass="ass="ass=11 3500<64="ass="ref=" href="+code=9 r2ok" a> = 10    cpoomment">   11spa  cpooref")t+- class="sref">OClow_cporees(st2465ss="lin24 >11 fs2_refcount_tree_p24 >1>2462_unlock_refcount_tsrnnnnnnnnnnnn 010span clle32="ass="ass="ass=11 3500<32="ass="   a> = 10    clusteromment">   11spa  clusteroref"_)- class="sref">OClow_cporees(st2466ss="lin24ref="+11   >116#L555" id24ref>24611>pan class="commenttttttttttttttttt 010span clrecs_adck" a> = OClow_cporees(st2467ss="lin24ef="+11   >11 de=out" cl24ef=>246_refexteblock *)<} else- class="sref">OClow_cporees(st2468ss="lin24TIG_NONEc#L4"LL" class="24TIG>2467" id="L547"     _tsrrrrrrrrr 010span clrecs_adck" a> = OClow_cporees(st2469ss="lin2411   >116#L538" id="L5382411 >246e="L4href="+code=ocfs2_read_refcount_4 1247ass="lin24re_refcouren_contig> *)<24re_>247+1>pan class="comment class="commentbrelsek" a> = 117 e=out" class24"+1>247150011>paaaaaaaaa href="+code=9 clusteromment">   11spaclusteroref" -a>kordrees(stlens2/refcounttreelenref" href="+code=ocfs2_read_refcount_4 12473ss="lin24umclass="sref">ocfs2_ref24umc>247href="11   >11 f_roottaee.cacacheeowcpoomment">   11spacpooref"n+a>kordrees(stlens2/refcounttreelenref" href="+code=ocfs2_read_refcount_4 12474ss="lin24ef="+cocode=ocfs2_read_r24ef=>247tttttt(unsignFT> *)2472_unlT> *)11
_tree_puteeeeeeeeeeeeeeeeeeeeeeee>tree24r7ss="lin24_adjacino">inobh)
247_refexteblock *)11span class="comment">   1rere_ure   1rere_ure(stprevs="line" name="L48prevs=">11
"L477108550010  b_10swk" a> =  href="+code=ocfs2_read_refcount_4 12478ss="lin24   }
 *)10   f_ 2oordss2/refcounttree2f_ 2oordsref=.108550010   l_useds2/refcounttree l_used>11
_t+na> = OClow_cporees(st248ass="lin242_refre_uren_contig> *)<242_r>248+1>pan class="comment *)10   f_ 2oordss2/refcounttree2f_ 2oordsref=.108550010   l_poree="comm11   >118 l_poree>11
__href="+code=ocfs2_read_refcount_4 12481ss="lin24c#L4block" class="sref">24c#L>248                   nacommentt href="+code=9 r113bl771ss2/refcounttree2113bl771sref"++7- class="sref">OClow_cporees(st2422ss="lin24acino">inobh)
248150011         24551>248href="11   >11 f_root011span clascreditss2/refcounttreecreditsref=0+a>1>ret11               24500>248tttttt(unsignFT> *)11      s="258s="lin242_refre_uren_contig> *)<242_na>kordhref="+.610 950010tatic int - class="sref">OCla hre4="+co4e10ta2327ss="lin2300>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcounecreditsre4=_href="+code=ocfs2_read_4efcou48_4 12478ss="lin24   }
tree2329ss="lpan class="commenttttttttttttttttttttttttttttthead01 f_roottaee.cacach href="+code=oc *)1>aaaaagofo>kordrees(stLufs2/refcoun_adcref" =40>ret11         24551>248href="11   >11 f_root0ret243_refexteblock *)115="sref">r* Soe="L4851rrrrrditsref=0+>1 ome="L48in1 ommen85105a>243_refexteblock *)r href="+code=ocfs2_read_4efcou4910ta2454ss="lin24FTRIGHT"#L5e" id="L hebattttso meansL4851052500(stL485105-8510ttttttthenttttnumbL href="+ L4771, so that we ce="eell exactly wttreelenre4" href="+code=ocfs2_read_4efcou4910ta2455ss="lin2411
11 ="sre" id=*1 om51052500siame=48510ver85105L4851m5a>243_refexteblock *) *)nlT> *)11       while (fs>24enttttttt="L48500fetaommena>243_refexteblock *)243_refexteblock *)OClow_cp4rees<4910ta2448ss="lin24efcou11114#L54710  Che71 whether we neec a split hehe="Le= - class="sref">OClow_cp4rees<49"#L523e9ss="lin23co11
11 =ssss241242_refexteblock *)11span class="comment">   1rere_ure   11spaciref=>sme="L50_kordrees(stprevs="line" name="L48prevs=">11
"L477108550010  b_10swk" a> = 59500115x href="+code=ocfs2_read_5efcou50mmen237ass="lin23re_refcouren_co462_unlock_refcount_tsrnnnnnnnnnnnn 010span clle32="ass="ass="ass=11 3500<16="ass="ref=" href="+cod0tree24l1ss="lin24l/a> id=23efc>2347" id="L547"     _tsrrrrrrrrrrrrrrrrr>11span class="comment">  fc>2347" id="L59 .andle="comm11   >118L477108550010  b_10swk" a> = 5928="sref"5t>ret(st2422ss="lin24acino">inobh)
 href="+code=ocfs2_read_5efcou5t_4 124l3ss="lin24lnttfc>2347" id="L547"   f e=s="comment  _tsrrrrrrrrrrrrrrrrr>11span clf e=s="comment  _tsrrrrrr1nt_unlock" 7" id="Li9 .andle="comm11   >118.andleref=>>117" clas">   1get_rere_ure   11spaciref=>sme="L5"+code=9 1s" class="line" name="L482115  >11 f_ro5tFT> *)(f=>sel="L5"+code=9 1s" class="line" name="L482115 5>11 f_ro5t href="+code=ocfs2_read_5IG_LE5T"#L524l5ss="lin24ln" 8250011         24551>248href="11   >11 f_root0248href="11 rere_ure10span clle32="a771s2/refcounttreesuper_L477119350011span classs="line" 5revs=">11
5tree_puteeeeeeeeeeeeeeeee5eeeee5>tree24l6ss="lin24lsfs2_unlockkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk0span clle32="a9 .andle="comm11   >11850010   f_ 2/a>(f=>sel.andle="comm11   >(f=>sel="L5_L477119350011span classs="line" 5r7vs=">11
5tree_puteeeeeeeeeeeeeeeee5="+co5010ta2327ss="lin23001111
5ts- class="sref">OClow_cp5="+co50>(st2468ss="l+11   ref="fs/ocfs2/reprevs="line" name="L48519vs=">11
5t>- class="sref">OClow_cp5="+co50"#L52479ss="lin2478508250011         24551>248href="11   >11 f_root0(stOCF_TREE_CREDITowrss="comm11   kordreesPANDfa>(stOCF_TREE_CREDITo>118L477108550010  b_10swk" a> = 5ttt *5610 550010tatic int 11
5tree_puteeeeeeeeeeeeeeeee5eeeee5>tree2411ss="lin2450011               24500>2485(st2422ss="lin24acino">inobh)
 href="+code=ocfs2_read_5efcou51mmen2373ss="lin23umclass="sref">ocfs2_ref23umc>237href=kordrees(stLufs2/refcou54cla>241on5ig> *)11
5t+- class="sref">OClow_cp5rees<5a>(st24e5ss="l373ss="lin23umcscalc1rere_ureocfs2_scalc1rere_ure1434ss="lin24d="L481" class="line" na5levs=">11
577- class="sref">OClow_cp5rees<5a>(st24e6ss="lin24ruct24efc>243                   nacire_refcouporc#L54)6" = (stcpoomment">   11spacpooref">>kordrees(stclusteromment">   11sp5l_poree>115__href="+code=ocfs2_read_5efcou5t_4 124e7ss="lin24claspan class="commenttttttttttttttttttttttttttttthead0a>11
na>kordrees248href="11   >11 f_roor+code=9 1s" class="line" name="L482115bl771sref"5+7- class="sref">OClow_cp5rees<5a>(st24e8ss="lefcouren_contig> *)<24re_>247+1>pan class="comment class="commentbrelsek" a> = 242150011>paaaaaaaaaaaaaaaaa108550010  brelsek" a> = 237tttttt(unsignreturncret11               24500>2485itsref=0+a51>ret(st2422ss="lin24acino">inobh)
115
243_refexteblock *)15
>reta>tamn8510,4t1500f  rf11  23   >2377"pacpooref"243_refexteblock *)11
5_>ret11 ="*7/a>a>tamna>tam="L481 ommg ommrough iref",see how many ref=0+a>243_refexteblock *)11
5rFT> *)11      24gonnaef"uchtttttdtame="L4851052500<  >fet00525ref=0+ea>243_refexteblock *)242e_5efcouren_adjacinod *)243_refexteblock *) href="+code=ocfs2_read_5efcou5210ta2378ss="lin23   }
patame="Lref=0+>st"L48411tame="L48510shtttttt*a>243_refexteblock *) *)11  23   >2377"ctso10525001 ommegeL48510numbL ntttilyea>243_refexteblock *) *)2400patame="L48552500ttttme="L4a>243_refexteblock *)T> *)T> *)243_refexteblock *)T> *)115=* Caller85 ommh="co/a>a>tamn8510 aaaaca>243_refexteblock *)15_>ret10  Che71 whether we neec a split hehe="L54d=">243tt5ttT> *)"super L4771."610>11
na>kordrees"super L4771."610kordrees(stclusteromment">   11sp5  cpooref"5t+- class="sref">OClow_cp5rees<5a>(st2436ss="lin24lass="line" naaaaaaaaaaaaaaaaa1
na>kordrees   11sp5 ="f>242e_5">retkordrees   11sp5 l771sref"550010tatic int    11spaud1500   11sp5Lo e="610 550010tatic int tree);
8_refexteblock *)   11sp5hether610 550010tatic int 8_refexteblock *rhref="+code=oc *)1>ret *)<5r not.610 550010tatic int 10tatic int 11span claf  idaaaaa;610>11
na>kordrees   1getoixteblocroottaee.cacachkordreIwrss="comm11   kordreIaaaaaaaa10855001">"super L4771."610=" href="+code=9 prevs="line" name="L45't610 550010tatic int 11span class="commentbuffer_heack" a> = 11"+code=9 1s" class="line" name="L482113950011
na>kordrees(stNULLline" name5hoord.610 550010tatic int 11span clta_creditrrrrlass="commentbuffer_hrrrrrrrrrrrrrrr>11srrrrlassa>11
na>kordrees(stNULLline" name5h cpooref"550010tatic int kordrees   11spacpooref"naa>kordr   1rere_uref=0+nnnnnre_refcaaaaaaaa10855001">"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_77242e_550010tatic int 10tatic int 11span clta_creditrrrrlassaaaa10855001kordreSBwrss="comm11   kordreSBaaaaaaaa10855001">"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_77e_refcarroric head1">"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_77"Iquot %lu wanref",utame="L48510"a>10  Che71 whether we neec a split hehe="L5 case.610 550010tatic int kordr 54ss="lin24Fin2ing">"8510,4buL48510featuL485me="s omm see="L48510"a>10  Che71 whether we neec a split hehe="L5  not.610 550010tatic int kordrees< 54ss="lin24Fin2ing">"super8ref=0."a>10  C0010    _CONTIG"super L4771."610="ass="ref=" href="+i_i                 i_i  ;610=" href="+code=9 prevs="line" name="L45 case.610 550010tatic int 117 e=out" s="sr23f">>239_refexteblock<-   >117 e=out" EROFowrss="comm11   EROFolassa>11
na>kordrees(stNULLline" name5ation.610 550010tatic int 10tatic int 11               24500>2485case).610 550010tatic int 11      s="258s="lin242_refre_ure5tttt*5610 550010tatic int kordrees11>paaaaaBUG_ONaaaaa!aaaa10855001o7" clas">   1getoixteb="ass="ref=" href="+ip_dyn_featuL4cou32mment">   1ip_dyn_featuL4c(st24a>(st11 >236/a>a> = (stOCF_Fine" name="L4821a hrefHASfa>(stOCF_Fikordrees(stLufs2/refcou5t="f>242e_5tree_puteeeeeeeeeeeeeeeee5eeeee5510ta2 href="+code=9 prevs="line" name="L45adcref" +=52>ret(st24e8ss="lefcouren_contigs="sr23f">>239_refexteblock *)11span clwrss="comm11 rrrrlassaaaa10855001kordreSBwrss="comm11   kordreSBaaaaaaaa10855001">"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_77   11sp5ng.>*5610 550010tatic int (2ss="lin24"+11   >117 e=out" s=_credit_a/a>(struct cpor#ta_credit_a/;610kunt_unlock" 7" id="Lirrrrrrrrrrrrrrr>11srrrrlass)aaaaagofo>kordrees(stLufs2/refcou5f=tunt_uun5_u010tatic int 240code=rere_refcouren_ch href="fs/ocfs2/reass="comm11   5a  cpooref5)_href="+code=ocfs2_read_5efcou5t_4 12461ss="lin24atioan class="commena>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  5cs_adcref"5+7- class="sref">OClow_cp5rees<56_4 12472ss="lin24"+11ass="comment24la>>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcou54rdr>246155011               24500>2485nd.>*5610 550010tatic int OClow_cp5rees<5a>(st2465ss="lefcouren_contigs="sr23f">>239_refexteblock *)11span class="00line" name="Lrb hrefnt_unlock" 7" id="Lirrrrrrrrrrrrrrr>11srrrrlass="ass="ref=" href="+cod17" clas">   1getcod17(struct cpor#ta_credit_a/;610k434ss="lin24d="L481" class="line" na5 ttt*5610 5_)- class="sref">OClow_cp5rees<5a>(st2466ss="lin24ref="+11   >116#L55555555555nt_unlock" 7" id="Lif (   11spaciref=>sme="L5"+code=9 1s" class="line" name="L482115cs_adcref"5+7- class="sref">OClow_cp5rees<5a>(st2467ss="lin23re_refcouren_cof24las>240code=rere_refcouren_ch href="fs/ocfs2/reass="comm11   5adcref" +=5se- class="sref">OClow_cp5rees<5a>(st2468ss="lin24TIG_an class="commena>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  5cg.>*5610 5+7- class="sref">OClow_cp5rees<5610ta2459ss="lin24ordrass="comment24la>>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcou5411 >246e=5L4href="+code=ocfs2_read_5efcou5t_4 1247ass="lin2450011               24500>24859500115x href="+code=ocfs2_read_5efcou57"#L523e1ss="lin23>11               >239_refexteblock *)ocfs2_rere_ure1aaa10855001">"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_7711               246155" href="+code=ocfs2_read_5efcou5t_4 12473ss="lin24umcln24ref="+11   >116#L55555555555nt_unlock" 7" id="Lirrrrrrrrrrrrrrr>11srrrrlass="ass="ref=" href="+cod17" clas">   1getcod1711               *5610 5" href="+code=ocfs2_read_5efcou5710ta2464ss="lin24porcccccccccccccccccccccccccccccccclock" 7" id="Lif (   11spaciref=>sme="L5e3e1ss="lin23>11                *)(stcpoomment">   11spacpooref">>kordrees(stclusteromment">   11sp54ref>2472_5nlT> *) *rhref="+code=oc *)1>eg 9ong_kordrees248href="11   >11 f_roor+code=9 1s" class="line" name="L482115revs=">11
5tree_puteeeeeeeeeeeeeeeee5eeeee57>(st2467ss="lin23re_refcouren_cof24las>240code=rere_refcouren_ch href="fs/ocfs2/reass="comm11   5a b_10sw href="+code=ocfs2_read_5efcou57>(st2468ss="lin24TIG_an class="commena>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  54   >2477"5idT> *)>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcou5_adcref" L577- class="sref">OClow_cp5rees<58_4 1247ass="lin2450011               24500>2485l_poree>115__href="+code=ocfs2_read_5efcou58"#L523e1ss="lin23>11               OClow_cp5rees<58_4 12472ss="lefcouren_contigscalc1rere_ua bpareeta_credita>(stL5for_del.andle="comm11 scalc1rere_ua bpareeta_credita>(stL5for_del hreffexteblock *rhref="+code=oc *)1>a>11
na>kordrees248href="11   >11 f_roor+code=9 1s" class="line" name="L4821154aci>2481550(st2465ss="lefcouren_contig> *)<24re_>247+1>pan class="comment class="commentbode=9 cimment">   11spaciref=>sme="L5"+code=9 1s" class="line" name="L482115_contig> *5<242_na>kordhref="+.610 9500- class="sref">OCla hre5="+co5e10ta2in2450011               24500>2485l b_10sw2387" 5dree_puteeeeeeeeeeeeeeeee5eeeee5>tree2#defeee="+cocode=ocfs2_MAX_CONTIG_BYTEowrss="comm11   MAX_CONTIG_BYTEotatic int ret115=>ret10    _CONTIGd="L47;super L4771.&qd="Ltaticuct24efc>lin23c#L4block" class="srcow_23   >nnre_refcou32mment">   1rere_ucow_23   >nnre_refc"commin23unttree.c#L45" id=supere="Lrbref=na>">11spansupere="Lrblass="commentbuffer_h771s2/refcounttreesuperret *)<5ame="Lrbre5=>ret   1rere_ucre_refc5for_byt4c"comment class="comm771s2/refcounttreesuper_="+cocode=ocfs2_MAX_CONTIG_BYTEowrss="comm11   MAX_CONTIG_BYTEotati"+code=9 1s" class="line" name="L482115=tsref=0+a5r href="+code=ocfs2_read_5efcou5910ta2in2450011               24500>2485ttreelenre5" href="+code=ocfs2_read_5efcou59"#L524a>11      s="258s="lin242_refre_ure5=contig> *5nlT> *)11span classcow_23   >nmasb"commin23unttree.c#L45" id=supere="Lrbref=na>">11spansupere="Lrblass="commentbuffer_h771s2/refcounttreesuperret *)<5aels7h211
5tree_puteeeeeeeeeeeeeeeee5eeeee5910ta2en_ch href="fs/ocfs2/reass="comm11   5= b_10swOClow_cp5rees<598tatic int 1os="srcow_23   >nnre_refcou32mment">   1rere_ucow_23   >nnre_refc"commcommentbuffer_h771s2/refcounttreesuperr - 1"+code=9 1s" class="line" name="L482115=re>2387" 5r>- class="sref">OClow_cp5rees<59"#L52in2450011               24500>24869500116x href="+code=ocfs2_read_6efcou60mmen2478ss="lin24   }
243_refexteblock *)ret243_refexteblock *)115=* feetttn offsee=(mmentt+ (n1  23   >nnre_refc))500 *)1 omtea>243_refexteblock *)11 f_ro6t href="+code=ocfs2_read_6IG_LE6010ta2455ss="lin2411
11 ="*a>243_refexteblock *)11 f_ro6tlT> *)11      i+>1 oclaakommentttttta1 om23   >nnre_refcea>243_refexteblock *)11 f_ro6tree_puteeeeeeeeeeeeeeeee6="+co6010ta2447ss="lin24unttree.c#L10  Che71 whether we neec a split hehe="L6 8vs=">11
6ts- class="sref">OClow_cp6="+co60>(st2ssplic010    _CONTIGd="L47;super L4771.&qd="Ltaticuct24efc>lin23c#L4block" class="srcow_tt* 2_mmentou32mment">   1rere_ucow_tt* 2_mment"commin23unttree.c#L45" id=supere="Lrbref=na>">11spansupere="Lrblass="commentbuffer_h771s2/refcounttreesuperkordrees(stclusteromment">   11sp619vs=">11
6t>- class="sref">OClow_cp6="+co60"#L52479ss="lin247850000000000000000000000000000000000uct24efc>lin23c#L4block" clammentou32mment">   1mment"comkordrees(stclusteromment">   11sp6ttt *5610 650010tatic int lin23c#L4block" cla2_ref24umc>247href="11   >1ret *)<6revs=">11
6tree_puteeeeeeeeeeeeeeeee6eeeee6110ta2ef="fs/ocfs2/reprevs="line" name="L486   1mment"com247href="11   >1r+code=9 1s" class="line" name="L482116a b_10sw href="+code=ocfs2_read_6efcou61_4 124e3ss="lin24class="srebh)
241on6ig> *)   1mment"com<+ ("L482" cl24por>246tttttt(unsignnnnnnnnn1111110    clustermmentou32mment">   1mment"com=.a>(st11 >236/a>a> = nmasbref=na>">11span classcow_23   >nmasb"commcommentbuffer_h771s2/refcounttreesuperrr+code=9 1s" class="line" name="L482116a5>11 f_ro6t+- class="sref">OClow_cp6rees<6a>(st2in2450011               24500>2486levs=">11
677- class="sref">OClow_cp6rees<6a>(st2n2450011               24500>2486l7>11 f_ro6__href="+code=ocfs2_read_6efcou6110ta2447ss="lin24unttree.c#
243_refexteblock *)OClow_cp6rees<6110ta2378ss="lin23   }
tam1 omlen, pad me=out052500a>243_refexteblock *)11
6rFT> *)11   om23   >nnre_refcea>243_refexteblock *)241e=6L4href="+code=ocfs2_read_6efcou6210ta238ass="lin232_refre_uren/a>10  Che71 whether we neec a split hehe="L6_adcref" =60>ret10    _CONTIGd="L47;super L4771.&qd="Ltaticuct24efc>lin23c#L4block" class="srcow_tt* 2_lengtcimment">   11spss="srcow_tt* 2_lengtc"commin23unttree.c#L45" id=supere="Lrbref=na>">11spansupere="Lrblass="commentbuffer_h771s2/refcounttreesuperkordrees(stclusteromment">   11sp6itsref=0+a61>retlin23c#L4block" claeeowcpoomment">   11spacpret *)<6prevs=">116_>ret16
>retlin23c#L4block" clapadtatic head   11spacp<+ (aaa10855001os="srcow_23   >nnre_refcou32mment">   1rere_ucow_23   >nnre_refc"commcommentbuffer_h771s2/refcounttreesuperr - 1"=.a>(stf="fs/ocfs2/reprevs="line" name="L4863evs=">11
6rFT> *)236/a>a> = nmasbref=na>">11span classcow_23   >nmasb"commcommentbuffer_h771s2/refcounttreesuperrtf="fs/ocfs2/reprevs="line" name="L48637>11 f_ro6efcouren_adjacinod *) href="+code=ocfs2_read_6efcou62>(st24e8ss="lea>(struct i24na>>24threfDid4t150rap?en/a>10  Che71 whether we neec a split hehe="L6_9vs=">11
6idT> *)(stclusteroowcpoomment">   11spacpret *)<6_i=eratere6="T> *)T> *)116_>T> *)OClow_cp6rees<6310ta2446ss="lin24/a>11      nre_refcL4851052500<00243_refexteblock *)242e_6">ret243_refexteblock *)10tatic int mmenttnre_refnnnnition0t150anref",d0243_refexteblock *)10tatic int 10tatic int 10tatic int 243_refexteblock *)11650010tatic int 115=* Wen85y>1 oclaakoupmtttttts on0b="Ldaries0 omMAX_CONTIG_BYTEo0525001a>243_refexteblock *)1650010tatic int 243_refexteblock *)243tt650010tatic int 11 ="*/a>10  Che71 whether we neec a split hehe="L6h cpooref"650010tatic int    1rere_uc a spliure"super L4771."610kordrees(stclusteromment">   11sp6&="f>242e_650010tatic int 11   1rere_u  _tsrrlist;610>11
na>kordrees10tatic int >1
na>kordrees11span classs="line" 6 case.610 650010tatic int kordr+cod10  23   >>1
na>kordrees11span classs="line" 6 adcref" =650010tatic int kordrees<+cod10  23   >>1
na>kordreeskordrees   1 ow_mment1111_L477119350011span classs="line" 6 tsref=0+a650010tatic int kordrees<+cod10  23   >>1
na>kordreeskordrees *)<6ation.610 650010tatic int 10tatic int 238/a>a> =ckr0ignreturnc10tatic int 248+1>pan class="comment *)   11spl rrrr_deptcpacpr0010    _CONTIot;super L4771.&ebloignreturnc10tatic int 11span class="commentbuffer_heb9 cimment">   11speb9 ceblockrefcouren_contig="line" name="L482113950011
na>kordrees(stNULLline" name6t="f>242e_6tree_puteeeeeeeeeeeeeeeee6eeeee657(st2436ss="lin23unttree.c#L45" id=rere_u  _tsrr="Lrbref=na>">11span class  _tsrr="Lrblass="commentbuffer_hebimment">   11spebeblockrefcouren_contig="line" name="L482113950011
na>kordrees(stNULLline" name6tl771sref"62>ret(st24e8ss="lin23unttree.c#L45" id=rere_u  _tsrr485ref=na>">11span class  _tsrr485lass="commentbuffer_h485ref=na>">11span485lassa>11
na>kordrees(stNULLline" name6t9vs=">11
650010tatic int lin23c#L4block" cla0anr_2re_refcou32mment">   10anr_2re_refc1111_08550010   l_us_en/refcounttree l_use_en/a> =ckr0ignreturnc10tatic int nnre_refcou32mment">   123   >nnre_refc"comck *)nnre_refcou32mment">   1rere_ucow_23   >nnre_refc"commcommentbuffer_h">"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_77   1eeafnnre_refclassa>11
na>kordrees(stNULLline" name6cs_adcref"6+7- class="sref">OClow_cp6rees<66>(st2422ss="lin24acino">inobh)
246156011>paaaaaBUG_ONaaaaa3c#L4block" cla46tttttt(unsignnnnnnnnn11111+nnnnnnnnnn10tatic int OClow_cp6rees<6a>(st2465ss="lin24efcount_block" ="co_heigh="ass=123ss=>238="co_heigh=eblocnode20uren_ch href="fs/ocfs2/reass="comm11   6 ttt*5610 6_)- class="sref">OClow_cp6rees<6a>(st2466ss="lin24ref=ss="ass="ass="ass="ass=123ss=>238/a>a> =ckr/a> *)   1rere_ufeeteref=aaaaa3c#L4block" claINODE_CACHEou32mment">   1INODE_CACHE"commcommentbuffer_h">"super L4771."610r0010    _CONTel.andle="comm11  l="L5_nnnnnnnnnn   11speb9 ceblo)ignreturncOClow_cp6rees<6610ta2327ss="lin2300240code=rere_refcouren_ch href="fs/ocfs2/reass="comm11   6adcref" +=6se- class="sref">OClow_cp6rees<6a>(st2468ss="lin24TIG_in24ref=ss="ass="ass="ana>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  6cg.>*5610 6+7- class="sref">OClow_cp6rees<6610ta2459ss="lin24ordrrrrrrrrrass="comment24la>>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcou6411 >246e=6L4href="+code=ocfs2_read_6efcou6710ta246ass="lin24trucin2450011               24500>24869500116x href="+code=ocfs2_read_6efcou67"#L523e1ss="lin23>11               117 e=out" ebimment">   11spebeblockrk *)11span class  _tsrr="Lrblass=")1   >117 e=out" eb9 cimment">   11speb9 ceblo0_kordrees(stprevs="line" name="L48prevs=">11
"L477108550010  b_10swk" a> = 6"rdr>246156" href="+code=ocfs2_read_6efcou6t_4 12473ss="lin24umcl10    _CONTel.andle="comm11  l="L5ckrnt_unlock" 7" id="Liebimment">   11spebeblo0_kordrees(stprehrlistou32mment">   1hrlist;610L477108550010  b_10swk" a> = 6""e=io610 6" href="+code=ocfs2_read_6efcou67mmen2434ss="lin24d="L481" class="line" na6" cpooref"6nFT> *)   11spl rrrr_deptcpacprren_ch href="fs/ocfs2/reass="comm11   64ref>2472_6nlT> *)"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_7711"Iquot %lu has omn zeron8510 deptc="L4"a>10  Che71 whether we neec a split hehe="L6a b_10sw href="+code=ocfs2_read_6efcou67>(st2468ss="lin24TIG_a>11"ref=8ref=0 %llu\n"a>10  C0010    _CONTIG"super L4771."610="ass="ref=" href="+i_i                 i_i  ;610en_ch href="fs/ocfs2/reass="comm11   64g.>*5610 6idT> *)   11speb9 ceblo0_kordrees(stprevsref=0nric headOClow_cp6rees<6810ta246ass="lin24truct iona>kss="ass="ass="ass="ass=123ss=>238/a>a> =ckr-   >117 e=out" EROFowrss="comm11   EROFolassa>11
na>kordrees(stNULLline" name6l_poree>116__href="+code=ocfs2_read_6efcou68_4 12461ss="lin24ationa>kordrass="comment24la>>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcou6bl771sref"6+7- class="sref">OClow_cp6rees<68_4 12472ss="lin24"+11in2450011               24500>24864aci>248156011               24500>2486itsref=0+a61>ret *)kordrees *6<242_na>kordhref="+.610 960010    _CONTIot;super L4771.&eblocordrees(stclustero42_r>248+1>pan class="comment *)11spanl n  __frrr_485log_er010    _CONTIot;super L4771.&eblo++rren_ch href="fs/ocfs2/reass="comm11   6 els7h211
6">- class="sref">OCla hre6="+co6810ta2327ss="lin2300">11span485lassckrnt_unlock" 7" id="Liel.andle="comm11  l="L5="ass="ref=" href="+l 485cou32mment">   1e 485c="L5[10    _CONTIot;super L4771.&eblo]ignreturnc2387" 6dree_puteeeeeeeeeeeeeeeee6eeeee68"#L52479ss="lin247850in23re_refcouren_coe_refcis_emptys  _tsric head11span485lass)href="fs/ocfs2/reprevs="line" name="L486_adcref" =60>retkss="ass="ass="anacombug_on_msg               nacombug_on_msgaaaaaaaa10855001"ot;super L4771.&ebloc!kr0eg 54ss="lin24Fin2ing">"Iquot %lu has emptya485525m"L4"a>10  Che71 whether we neec a split hehe="L6__poree>116=>retkordrees<+cod10  23   54ss="lin24Fin2ing">"index %d\n"a>10  C0010    _CONTIG"super L4771."610="ass="ref=" href="+i_i                 i_i  ;610e010    _CONTIot;super L4771.&ebloerrefref=" href="+code=9 1ss="comm11  6ame="Lrbre6=>retkordr23   nuerrefref=" href="+code=9 1ss="comm11  6aaci>248156r href="+code=ocfs2_read_6efcou69_4 12473ss="lin24umclin2450011               24500>2486=tsref=0+a6r href="+code=ocfs2_read_6efcou69mmen2434ss="lin24d="L481" class="line" na6ttreelenre6" href="+code=ocfs2_read_6efcou69>(st24e5ss="lin24ref=in23re_refcouren_cole32_r>248+1>pan class="comm32_r>248+ href="+code=9 mlog_er5ref=na>">11span485lass="ass="ref=" href="+e_nnnn_tsrnnnnnnnnnnne_nnnn1111) +434ss="lin24d="L481" class="line" na6tcontig> *6nlT> *)(stclustero42_r>248+1>pan class="comment *)11span485lass="ass="ref=" href="+e_eeafnnre_refcou32mment">   1e_eeafnnre_refc1111) ordrkr/a> *)247href="11   >1ret *)<6aels7h211
6tree_puteeeeeeeeeeeeeeeee6eeeee6910ta2327ss="lin230011OClow_cp6rees<69_4 12478ss="lin24   }
- class="sref">OClow_cp6rees<69"#L52479ss="lin247850in2311
na>kordrees117x href="+code=ocfs2_read_7efcou7010ta246ass="lin24truct iona>ks55ss="lin2411
11 =
243_refexteblock *)k=* Wenshtttttfeetttme="L4851eda485525m"L4th1a>243_refexteblock *)retk=* first pin25a>243_refexteblock *)115=6ass="lin24truct iona>k=*/a>10  Che71 whether we neec a split hehe="L7948="sref"7t href="+code=ocfs2_read_7IG_LE7010ta2464ss="lin24porcccccccccefcouren_contigBUG_ON0011>paaaaaBUG_ONaaaaa!aaaa10855001er5ref=na>">11span485lass="ass="ref=" href="+e_flagcou32mment">   1e_flagcebloco>(st11 >236/a>a> = (stOCFEDou32mment">   1a hrefEXTfa>(stOCFEDlass)hrrefref=" href="+code=9 1ss="comm11  7 5>11 f_ro7t href="+code=ocfs2_read_7IG_LE70>(st24e5ss="lin24ref="+code=r11
na>kordrees   1 ow_mment1111ckrefcouren_contig<232_r>248+1>pan class="comm32_r>248+ href="+code=9 mlog_er5ref=na>">11span485lass="ass="ref=" href="+e_nnnn_tsrnnnnnnnnnnne_nnnn1111)rrefref=" href="+code=9 1ss="comm11  7 6>11 f_ro7tlT> *)11               24500>2487 7>11 f_ro7tree_puteeeeeeeeeeeeeeeee7="+co7010ta2 href="+code=9 prevs="line" name="L47 8vs=">11
7ts- class="sref">OClow_cp7="+co70>(st2468ss="lin24TIG_a55ss="lin2411
11 =
243_refexteblock *)11
7t>- class="sref">OClow_cp7="+co7010ta2379ss="lin237850011n24truct iona>k=* If4t15enL4851erttmhole,ttmnon-e="L4851eda485525moraa243_refexteblock *)10tatic int k=* pin248510max_nnnn,,stop<8510mearccea>243_refexteblock *)11
7tree_puteeeeeeeeeeeeeeeee7eeeee7110ta2451ss="lin24f="+cREF_C46ass="lin24truct*/a>10  Che71 whether we neec a split hehe="L71er5ref=na>">11span485lass="ass="ref=" href="+e_flagcou32mment">   1e_flagcebloco>(st11 >236/a>a> = (stOCFEDou32mment">   1a hrefEXTfa>(stOCFEDlass)h ||he71 whether we neec a split hehe="L7<38="sref"7> href="+code=ocfs2_read_7efcou71_4 12473ss="lin24umcln24r311
na>kordrees(sto>(st11 >236/a>a> = <_us_en/refcounttree l_use_en/a> =c!krefcouren_contig<232_r>248+1>pan class="comm32_r>248+ href="+code=9 mlog_er5ref=na>">11span485lass="ass="ref=" href="+e_nnnn_tsrnnnnnnnnnnne_nnnn1111)h ||he71 whether we neec a split hehe="L7<48="sref"7ig> *)248+ href="+code=9 mlog_er5ref=na>">11span485lass="ass="ref=" href="+e_nnnn_tsrnnnnnnnnnnne_nnnn1111)hret *)<7a5>11 f_ro7t+- class="sref">OClow_cp7rees<71>(st24e5ss="lin24ref="+code=rclaakrrefref=" href="+code=9 1ss="comm11  7levs=">11
777- class="sref">OClow_cp7rees<7a>(st2n2450011               24500>2487l7>11 f_ro7__href="+code=ocfs2_read_7efcou7110ta2327ss="lin2300   1eeafnnre_refclassckrefcouren_contig<242_r>248+1>pan class="comment *)11span485lass="ass="ref=" href="+e_eeafnnre_refcou32mment">   1e_eeafnnre_refc1111)rrefref=" href="+code=9 1ss="comm11  7l8vs=">11
7+7- class="sref">OClow_cp7rees<71>(st2468ss="lin24TIG_an class="comme_us_en/refcounttree l_use_en/a> =ckr/a> *)248+1>pan class="comm32_r>248+ href="+code=9 mlog_er5ref=na>">11span485lass="ass="ref=" href="+e_nnnn_tsrnnnnnnnnnnne_nnnn1111)1+nnnnnnnnnn   1eeafnnre_refclassa>11
na>kordrees(stNULLline" name7b9vs=">11
7rFT> *)241e=7L4href="+code=ocfs2_read_7efcou7210ta246ass="lin24truct iona>kss="ass="ass="asss_en/refcounttree l_use_en/a> =ckr/a> *)11
na>kordrees(stNULLline" name7_adcref" =70>retkordrcommentbuffer_heeafnnre_refcou32mment">   1eeafnnre_refclassckrefcouren_contigsss_en/refcounttree l_use_en/a> =c10    cluster<232_r>248+1>pan class="comm32_r>248+ href="+code=9 mlog_er5ref=na>">11span485lass="ass="ref=" href="+e_nnnn_tsrnnnnnnnnnnne_nnnn1111)a>11
na>kordrees(stNULLline" name7_L4771ref=71>ret11               24500>2487prevs=">117_>ret)
17
>ret11 =
243_refexteblock *)11 f_ro7_>ret11 ="""""""""""""""""* How0many nre_refcLdo4t15actually510525froma>243_refexteblock *)11
7rFT> *)11      """"""""""""""""* this0  _tsr?  First w10meemhow0many t15actuallya>243_refexteblock *)11 f_ro7efcouren_adjacinod *) *) href="+code=ocfs2_read_7efcou7210ta2378ss="lin23   }
 *)kordrees *)<7_adcref" =7">T> *)kordrcommentbuffer_h0anr_2re_refcou32mment">   10anr_2re_refc1111ckrefcouren_contigdrite_len_tsrnnnnnnnnnnndrite_len1111a>11
na>kordrees(stNULLline" name7_tsref=0+a7)>T> *)11
na>kordrees(stNULLline" name7_revs=">117_>T> *)   10anr_2re_refc1111ckra3c#L4block" cla46tttttt(unsignnnnnnnnn11111+nnnnnnnnnn11
na>kordrees(stNULLline" name7_950017_>retkordrees   1 ow_mment1111c+n11
na>kordrees11
na>kordrees(stNULLline" name7_5>11 f_ro7ttT> *)   10anr_2re_refc1111cordrees(stcluste23   >nnre_refcou32mment">   123   >nnre_refc"comret *)<7_evs=">11
7t+- class="sref">OClow_cp7rees<73tree24l6ss="lin24lsfs2_unlock   10anr_2re_refc1111ckrefcouren_contig23   >nnre_refcou32mment">   123   >nnre_refc"coma>11
na>kordrees(stNULLline" name7_7>11 f_ro7">ret10tatic int 10tatic int 243_refexteblock *)10tatic int nnre_refc0b="Ldariesea>243_refexteblock *)10tatic int 243_refexteblock *)11750010tatic int 115=1111111111111111* Any   _tsr5smaller thss="3   >nnre_refc500243_refexteblock *)1750010tatic int li mes0    retyea>243_refexteblock *)243tt750010tatic int 11 ="1111111111111111*/a>10  Che71 whether we neec a split hehe="L7h cpooref"750010tatic int    1eeafnnre_refclasscordrkr/a> *)nnre_refcou32mment">   123   >nnre_refc"comret *)<7&="f>242e_750010tatic int 11kordrees *)   1eeafnnre_refclassa>11
na>kordrees(stNULLline" name7&l771sref"750010tatic int kordreeskordrees   1 ow_mment1111c=kr/a> *)247href="11   >1r)ren_ch href="fs/ocfs2/reass="comm11   7&9vs=">11
750010tatic int 11 =
243_refexteblock *)10tatic int 1 oce CoWttt* 25from 1 f_r243_refexteblock *)10tatic int k=* 5eginn250,0525all t15have>1 odo ms243_refexteblock *)10tatic int 115=6ass="lin24truct iona>k=* 0anr_2re_refc500<0mentdg>1 om23   >nnre_refca>243_refexteblock *)1750010tatic int k=* 1 oget 5et1ertI/Oea>243_refexteblock *)10tatic int 11 ="1111111111111111 iona>k=*/a>10  Che71 whether we neec a split hehe="L7tttt*5610 750010tatic int    10anr_2re_refc1111ckrefcouren_contigrere_ucow_tt* 2_lengtcimment">   11spss="srcow_tt* 2_lengtc"commefcouren_contig">"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_7711   10anr_2re_refc1111ra>11
na>kordrees(stNULLline" name7tl771sref"72>ret11
750010tatic int    1eeafnnre_refclasscordrk   10anr_2re_refc1111r478ss="lin24   }
   1eeafnnre_refclassa>11
na>kordrees(stNULLline" name7fadcref" =7)_href="+code=ocfs2_read_7efcou76_4 12461ss="lin24ationa>kordrass=>11
na>kordrees(stNULLline" name7cs_adcref"7+7- class="sref">OClow_cp7rees<76_4 12472ss="lin24"+11na>kordrees<+cod11
na>kordrees *)   10anr_2re_refc1111a>11
na>kordrees(stNULLline" name7frevs=">1170kordrees   1 ow_mment1111c+n/a> *)nnre_refcou32mment">   123   >nnre_refc"comrcnodekf="fs/ocfs2/reprevs="line" name="L487f"e=io610 750010tatic int OClow_cp7rees<76>(st24e5ss="lin24ref="+code=ra55ss="lin2411
11 =
243_refexteblock *)OClow_cp7rees<7610ta2446ss="lin24/a>11      """"""""""""""""ees<+cod1 Blaak2500 oom23   >nnre_refca *)242e_7+7- class="sref">OClow_cp7rees<7610ta2447ss="lin24unttree.c#L""""""""""""""""ees<+cod1 ofommentttttta00 *)OClow_cp7rees<7610ta2378ss="lin23   }
243_refexteblock *)*5610 7+7- class="sref">OClow_cp7rees<7610ta2379ss="lin2378500111111111111111111ees<+cod1/a>10  Che71 whether we neec a split hehe="L7411 >246e=7L4href="+code=ocfs2_read_7efcou7710ta246ass="lin24trucees<+cod11
na>kordreesnnre_refcou32mment">   123   >nnre_refc"coma>11
na>kordrees(stNULLline" name79500117x href="+code=ocfs2_read_7efcou77_4 12461ss="lin24atio}iass=0in233efcouren_contigsss_en/refcounttree l_use_en/a> =c10    cluster2_ref24umc>247href="11   >1rcordrkr/a> *)nnre_refcou32mment">   123   >nnre_refc"comrren_ch href="fs/ocfs2/reass="comm11   7"L48NULLn_7r href="+code=ocfs2_read_7efcou77_4 12472ss="lin24"+1111111111a55ss="lin2411
11 =
243_refexteblock *)246157" href="+code=ocfs2_read_7efcou7710ta2453ss="lin24"11   >115=6ass="lin24truct iona>k=* Blaak2500 oom23   >nnre_refca243_refexteblock *)k=* 1his0  _tsr 00243_refexteblock *) *)11 ="1111111111111111 iona>k=*/a>10  Che71 whether we neec a split hehe="L74ref>2472_7nlT> *)kordrees   1 ow_mment1111ckrefcouren_contigsss_en/refcounttree l_use_en/a> =c10    cluster23   >nnre_refcou32mment">   123   >nnre_refc"coma>11
na>kordrees(stNULLline" name79="f>242e_7tree_puteeeeeeeeeeeeeeeee7eeeee7710ta2327ss="lin230011kordreesnnre_refcou32mment">   123   >nnre_refc"coma>11
na>kordrees(stNULLline" name79l771sref"7> href="+code=ocfs2_read_7efcou77>(st2468ss="lin24TIG_}iass=0in233efcouren_contigsss_en/refcounttree l_use_en/a> =c10    cluster2_ref24umc>247href="11   >1rcordrkr/a> *)   10anr_2re_refc1111rren_ch href="fs/ocfs2/reass="comm11   7"g.>*5610 7idT> *)11 =
243_refexteblock *)OClow_cp7rees<7810ta238ass="lin232_refre_ure111111111111111111111111* Whenttwe canttt* t fitomment   re0driteL"L4thia h243_refexteblock *)117__href="+code=ocfs2_read_7efcou7810ta2451ss="lin24f="+cREF_C46ass="lin24truct iona>k=*   _tsr,a>1 know500 *)OClow_cp7rees<7810ta2452ss="lin24CONTIG_RIGH6ass="lin24truct iona>k=* 00<0mentnd ofommentttttt.  Blaak500243_refexteblock *)2481570115=6ass="lin24truct iona>k=* Wen85y>1 oclaakoitoat052me multipl>0 oa>243_refexteblock *)retk=* 23   >nnre_refcafrom48510frosr ofommentttttt.a>243_refexteblock *) *)11 ="1111111111111111 iona>k=* Faili500f0243_refexteblock *) *7<242_na>kordhref="+.610 970011      """"""""""""""""ees<+cod1 23   >nnre_refcaofommenfrosr),0wettt* 243_refexteblock *)- class="sref">OCla hre7="+co7810ta2447ss="lin24unttree.c#L""""""""""""""""ees<+cod1 t   re0tttttt.a>243_refexteblock *)10  Che71 whether we neec a split hehe="L7_re>2387" 7dree_puteeeeeeeeeeeeeeeee7eeeee78"#L52479ss="lin247850ees<+cod11
na>kordrees   1 ow_mment1111ckrefcouren_contigss="srcow_tt* 2_mmentou32mment">   1ss="srcow_tt* 2_mment"commefcouren_contig">"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_77retkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk11
na>kordrees   1 ow_mment1111_nnnnnnnnnn11
na>kordrees(stNULLline" name7__poree>117=>retkordr11
na>kordrees =ckordrees   1 ow_mment1111a>11
na>kordrees(stNULLline" name7_L48NULLn_7=>ret248157r href="+code=ocfs2_read_7efcou79_4 12473ss="lin24umcllllllllla55ss="lin2411
11 =
243_refexteblock *)k=* Ok,omment   re0driteLlives "L4th1 middl>0 oa>243_refexteblock *)11 ="1111111111111111 iona>k=* 1his0  _tsr.  Le/ttt* a 85y>1 osliceommenttttttaupa>243_refexteblock *) *7nlT> *)11      """"""""""""""""ees<+cod1 nicely.  Optimally,4our0CoW=region0mmentca243_refexteblock *)nnre_refcafrom485105eginn2500 omth1a>243_refexteblock *)OClow_cp7rees<7910ta2378ss="lin23   }
nnre_refc,a>243_refexteblock *)2387" 7r>- class="sref">OClow_cp7rees<7910ta2379ss="lin2378500111111111111111111ees<+cod1a23veri500f0ent   re0drite.a>243_refexteblock *)118x href="+code=ocfs2_read_8efcou8010ta238ass="lin232_refre_ure111111111111111111111111*/a>10  Che71 whether we neec a split hehe="L8118="sref"8tree_puteeeeeeeeeeeeeeeee8eeeee80_4 12461ss="lin24ationa>kordr11
na>kordrees   1 ow_mment1111ckrefcouren_contigss="srcow_tt* 2_mmentou32mment">   1ss="srcow_tt* 2_mment"commefcouren_contig">"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_77retkordrees<+cod10  23   >>in24ationa>kordr11
na>kordrees   1 ow_mment1111_nnnnnnnnnn11
na>kordrees(stNULLline" name8938="sref"8t href="+code=ocfs2_read_8efcou80_4 124e3ss="lin24class="srebh)
   10anr_2re_refc1111ckra3c#L4block" cla46tttttt(unsignnnnnnnnn11111+nnnnnnnnnnkordrees   1 ow_mment1111a>11
na>kordrees(stNULLline" name8 5>11 f_ro8t href="+code=ocfs2_read_8IG_LE80>(st24e5ss="lin24ref="+code=r   10anr_2re_refc1111ckrefcouren_contigrere_ucow_tt* 2_lengtcimment">   11spss="srcow_tt* 2_lengtc"commefcouren_contig">"super L4771."610="ass="ref=" href="+i_771s2/refcounttrei_7711 f_ro8tlT> *)   10anr_2re_refc1111ra>11
na>kordrees(stNULLline" name8 7>11 f_ro8tree_puteeeeeeeeeeeeeeeee8="+co8010ta2327ss="lin230011kordrees   1 ow_mment1111c+n/a> *)   10anr_2re_refc1111cordrkrefcouren_contigsss_en/refcounttree l_use_en/a> =r478ss="lin24   }
11
8ts- class="sref">OClow_cp8="+co80>(st2468ss="lin24TIG_________________11
na>kordrees   10anr_2re_refc1111a>11
na>kordrees(stNULLline" name819vs=">11
8t>- class="sref">OClow_cp8="+co80"#L52479ss="lin247850ees<+codass=>11
na>kordrees(stNULLline" name8ttt *5610 850010tatic int kordr+cod11
na>kordrees =ckordrees   1 ow_mment1111a>11
na>kordrees(stNULLline" name8revs=">11
8tree_puteeeeeeeeeeeeeeeee8eeeee81_4 12461ss="lin24atio}>11
na>kordrees(stNULLline" name8r28="sref"80_href="+code=ocfs2_read_8efcou81>(st2422ss="lin24acino">inobh)
 href="+code=ocfs2_read_8efcou81_4 12473ss="lin24umcla55ss="lin2411
11 =
< Have>we c3vered4our0t   re0driteLyet?1*/a>10  Che71 whether we neec a split hehe="L8<48="sref"8ig> *)kordrees   1 ow_mment1111c+n11
na>kordrees11 f_ro8t+- class="sref">OClow_cp8rees<81>(st24e5ss="lin24ref="+code=rclaakrrefref=" href="+code=9 1ss="comm11  8levs=">11
877- class="sref">OClow_cp8rees<8a>(st2n2450011               24500>2488l7>11 f_ro8__href="+code=ocfs2_read_8efcou8110ta2327ss="lin230011 =
243_refexteblock *)11
8+7- class="sref">OClow_cp8rees<8110ta2378ss="lin23   }
243_refexteblock *)11
8rFT> *)111111111111111111* nre_refc, 23   nue withommenn  _ntttttt8ref=0 in2nnnsible.a>243_refexteblock *)241e=8L4href="+code=ocfs2_read_8efcou8210ta238ass="lin232_refre_ure1111111111111111*/a>10  Che71 whether we neec a split hehe="L8_adcref" =80>ret *)248+1>pan class="comment *)11spanl n  __frrr_485log_eco>(sto>(sthe71 whether we neec a split hehe="L8_28="sref"81>ret   11spebebloco>(sto>(st11 >236/a>a> =    11spebeblo0_kordrees(stprehrn  __eeafnblbref=na>">11spanhrn  __eeafnblb1111rren_ch href="fs/ocfs2/reass="comm11   8prevs=">118_>ret">11spanclass=="fs/ocfs2/rele16="aeb9 cimment">   11speb9 ceblo)ignreturnc18
>ret   11speb9 ceblockrefcouren_contigNULLimment">   11spNULL1111a>11
na>kordrees(stNULLline" name835>11 f_ro8_>ret11
na>kordrees(stNULLline" name83evs=">11
8rFT> *)">11span classlaadl  _tsrr="Lrb="fs/ocfs2/rele16="aINODE_CACHEou32mment">   1INODE_CACHE"commcommentbuffer_h">"super L4771."610r0>11
na>kordrees(stNULLline" name837>11 f_ro8efcouren_adjacinod *)11 *)248+1>pan class="comm64_r>248+="fs/ocfs2/rele16="aebimment">   11spebeblo0_kordrees(stprehrn  __eeafnblbref=na>">11spanhrn  __eeafnblb1111r0>11
na>kordrees(stNULLline" name838vs=">11
8> href="+code=ocfs2_read_8efcou82>(st2468ss="lin24TIG_a>11   11speb9 ceblo)ignreturnc *)2s="l/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  8_adcref" =8">T> *)kordrrrrrrrrrass="comment24la>>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcou8_tsref=0+a8)>T> *)11
na>kordrees(stNULLline" name8_revs=">118_>T> *)   11spebeblockrk *)11span class  _tsrr="Lrblass=")1   >117 e=out" eb9 cimment">   11speb9 ceblo0_kordrees(stprevs="line" name="L48prevs=">11
"L477108550010  b_10swk" a> = 8_5>11 f_ro8ttT> *)   11spebeblo0_kordrees(stprehrlistou32mment">   1hrlist;610L477108550010  b_10swk" a> = 8_evs=">11
8t+- class="sref">OClow_cp8rees<83tree24l6ss="lin24lsfs2_unlock10  b_10swk" a> = 8_7>11 f_ro8">ret11
na>kordrees(stNULLline" name8_8vs=">11
850010tatic int 11
na>kordrees(stNULLline" name8_9vs=">11
850010tatic int 10tatic int 10tatic int ">11spanclass=="fs/ocfs2/rele16="aeb9 cimment">   11speb9 ceblo)ignreturnc10tatic int 11
na>kordrees(stNULLline" name8h95001850010tatic int 10tatic int 11      * Prepare meta_ac, s=">_ac ttttnalculfet0credmes0when4t150anr>1 oadd052mea>243_refexteblock *)11 f_ro850010tatic int 243_refexteblock *)11
850010tatic int 10tatic int 243_refexteblock *)10tatic int 10tatic int 115=* 2. In052me case,>we may,omt21052500243_refexteblock *)1850010tatic int _ac = NULLea>243_refexteblock *)10  Che71 whether we neec a split hehe="L8tttt*5610 850010tatic int    1wrs="l"Lrb_c a spli_al"Lratofc="fs/ *)">11spansuperr="Lrblass="   11sp771111">11span class  _tsrrine"lass="238a>a> =en_ch href="fs/ocfs2/reasLLline" name8t9vs=">11
850010tatic int  *) =en_ch href="fs/ocfs2/reasLLline" name8f=tunt_uun8_u010tatic int kordr+codocfsssss *)   11spe.c_root9 ca> =en_ch href="fs/ocfs2/reasLLline" name8fadcref" =8)_href="+code=ocfs2_read_8efcou86_4 12461ss="lin24ationa>kordrref="fs/ocfsssss *) =en_ch href="fs/ocfs2/reasLLline" name8ftsref=0+a8+7- class="sref">OClow_cp8rees<86_4 12472ss="lin24"+11na>kordrees<+codocfsssss *)_aca> =en_ch href="fs/ocfs2/reasLLline" name8frevs=">1180kordrees =r478ss="lin24   }
10tatic int OClow_cp8rees<86>(st24e5ss="l"L*)238/a>a> =ckr0_nnnnnnnnnn =ckr0ignreturncOClow_cp8rees<866(st24e5ss="l"L*) *) =ckr/a> *) *) *)   11sp77238a>a> =)ignreturncOClow_cp8rees<8610ta2 href="+code=9 prevs="line" name="L48 l771sref"8se- class="sref">OClow_cp8rees<86>(st2468ss="lin23re_refcouren_conumnfrrr_  _tsrcT> *) =cordrk0uren_ch href="fs/ocfs2/reass="comm11   8cg.>*5610 8+7- class="sref">OClow_cp8rees<86"#L524e9ss="lin24co11238/a>a> =ckr/a> *) *) =ignreturnc246e=8L4href="+code=ocfs2_read_8efcou8710ta246ass="lin24truc/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  89500118x href="+code=ocfs2_read_8efcou87_4 12461ss="lin24atioass="comment24la>>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcou8"L48NULLn_8r href="+code=ocfs2_read_8efcou87_4 12472ss="l}>11
na>kordrees(stNULLline" name8"rdr>246158" href="+code=ocfs2_read_8efcou87_4 124e3ss="lin24class="srebh)
 *) =cordrk *) *) =ck478ss="lin24   }
 *)238a>a> =="ass="ref=" href="+et_root9el.andle="comm11  t_root9ellog_errefref=" href="+code=9 1ss="comm11  89="f>242e_8tree_puteeeeeeeeeeeeeeeee8eeeee8710ta2 href="+code=9 prevs="line" name="L489l771sref"8> href="+code=ocfs2_read_8efcou87>(st2468ss="l11
na>kordrees =c+kr/a> *)   11sp77238a>a> =="ass="ref=" href="+et_root9el.andle="comm11  t_root9ellog_en_ch href="fs/ocfs2/reasLLline" name8"g.>*5610 8idT> *) *)OClow_cp8rees<8810ta2refref=" href="+code=9 1ss="comm11  8_500118__href="+code=ocfs2_read_8efcou88_4 12461ss="lcommentbuffer_hss="ass=123ss=>238/a>a> =ckr/a> *)   11sp77 =ennnnnnnnnn   11spe.c_root9 ca> =en_ch href="fs/ocfs2/reasLLline" name8lL48NULLn_8+7- class="sref">OClow_cp8rees<88_4 12472ss="lin24"+11na>kordrees<+cod10  23   >>in24 *) *)2481580ret240code=rere_refcouren_ch href="fs/ocfs2/reass="comm11   8i cpooref"8nFT> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  8_contig> *8<242_na>kordhref="+.610 9800>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcou8 els7h211
8">- class="sref">OCla hre8="+co8810ta2327ss="l}>11
na>kordrees(stNULLline" name8il771sref"8=_href="+code=ocfs2_read_8efcou88_4 12478ss="lin24   }
   1trace_wrs="l"Lrb_c a spli_al"Lratofc href="+code=9 mlog_neta_ad/refcounttree l_neta_ad/a> =_n11
na>kordrees =raaaaagofo>kordrees(stLufs2/refcou8_adcref" =80>ret238/a>a> =ckr/a> *)_="Lrbstttt(unsignnnnnwrs="lreserve_10w_netas=">_="Lrbs="fs/ocfs2/rele16="aa hrefSBT> *)   11sp77 =_aaaagofo>kordrees(stLufs2/refcou8_500118=>retkordrrrrrrrrrrrrrrrrrrrrrrrrr =raaaaagofo>kordrees(stLufs2/refcou8_L48NULLn_8=>ret240code=rere_refcouren_ch href="fs/ocfs2/reass="comm11   8aaci>248158r href="+code=ocfs2_read_8efcou89_4 12473ss="lin24umclnnnnnnnnn240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  8=tsref=0+a8r href="+code=ocfs2_read_8efcou8910ta2464ss="lin24porcass="comment24la>>240150011>paaaaaaaaaaaaaaaaagofo>kordrees(stLufs2/refcou8ttreelenre8" href="+code=ocfs2_read_8efcou8950ta2327ss="l}>11
na>kordrees(stNULLline" name8tcontig> *8nlT> *)_aca> =uren_ch href="fs/ocfs2/reass="comm11   8al771sref"8=s- class="sref">OClow_cp8rees<89>(st2468ss="lin24TIG_aommentbuffer_hss="ass=123ss=>238/a>a> =ckr/a> *) *) *)   11sp77 *)2387" 8r>- class="sref">OClow_cp8rees<89"#L52479ss="lin247850000000006ss="lin24lsfs2_unlocre_refcouren_cos=">_ac               s=">_aca> =uaaaaagofo>kordrees(stLufs2/refcou99500119x href="+code=ocfs2_read_9efcou90_4 1247ass="lin24re_rin23="+code=9 mlog_erref">ocfsreadere_rmlog_eaaaagofo>kordrees(stLufs2/refcou99100119x>retkordrnnnnnnnnn240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  9928="sref"9t>ret11
na>kordrees(stNULLline" name9938="sref"9t href="+code=ocfs2_read_9efcou90_4 124e3ss="lin24class="srebh)
11 f_ro9t href="+code=ocfs2_read_9IG_LE90>(st24e5ss="lin23re_refcouren_cof24las>240code=rere_refcouren_ch href="fs/ocfs2/reass="comm11   9 6>11 f_ro9tlT> *)kordrees =rren_ch href="fs/ocfs2/reass="comm11   9 7>11 f_ro9tree_puteeeeeeeeeeeeeeeee9="+co9010ta2327ss="lin230011 *)kordrees =rrrefref=" href="+code=9 1ss="comm11  998>11 f_ro9ts- class="sref">OClow_cp9="+co90>(st2468ss="lin24TIG_________11
na>kordrees =ckrefcouren_contigNULLimment">   11spNULL1111a>11
na>kordrees(stNULLline" name919vs=">11
9t>- class="sref">OClow_cp9="+co90"#L52479ss="lin247850}>11
na>kordrees(stNULLline" name9ttt *5610 950010tatic int 11
na>kordrees(stNULLline" name9t100119tree_puteeeeeeeeeeeeeeeee9eeeee91_4 12>11
na>kordrees(stNULLline" name9t28="sref"90_href="+code=ocfs2_read_9efcou91_4 12472ss="l_rmurnk238/a>a> =ignreturnc href="+code=ocfs2_read_9efcou9110ta2}>11
na>kordrees(stNULLline" name9<48="sref"9ig> *)11 f_ro9t+- class="sref">OClow_cp9rees<91>(st2mmetic "L*)   1handle_tlass="="+code=9 mlog_handleou32mment">   1handlea> =_n *)   11sp ceblo)434ss="lin24d="L481" class="line" na9<6>11 f_ro977- class="sref">OClow_cp9rees<9a>(st2en_ch href="fs/ocfs2/reass="comm11   9l7>11 f_ro9__href="+code=ocfs2_read_9efcou9110ta2327ss="l   11spBUG_ON href="+code=9 mlog_bufferrdirtyrefcounttree l_bufferrdirty href="+code=9 mlog_bcimment">   11sp ceblo)rrrefref=" href="+code=9 1ss="comm11  9l8vs=">11
9+7- class="sref">OClow_cp9rees<91_4 12478ss="lin24   }
11
9rFT> *)   11sp ceblo)rrefref=" href="+code=9 1ss="comm11  94cla>241e=9L4href="+code=ocfs2_read_9efcou9210ta2refref=" href="+code=9 1ss="comm11  9_adcref" =90>retret11
na>kordrees(stNULLline" name9prevs=">119_>ret)
19
>ret">11span classduplicate_nre_refc_by_pag" href="+code=9 mlog_handle_tou32mment">   1handle_tlass="="+code=9 mlog_handleou32mment">   1handlea> =_4e3ss="lin24class="srebh)
11 f_ro9_>ret(st24e5ss="lin24ref=ccccccccccccccccccccc *)   1filelass="="+code=9 mlog_fileou32mment">   1filelass_4e3ss="lin24class="srebh)
11 f_ro9rFT> *)T> *) *)T> *)(st2en_ch href="fs/ocfs2/reass="comm11   9_9vs=">11
9idT> *) =ignreturnc *) *)"super L4771."610="="+code=9 mlog_">"super L4771."610=krefcouren_contigfileou32mment">   1filelass="ass="ref=" href="+f_patcimment">   11spf_patclass.re_refcouren_cosentryrefcounttree l_sentrylass="ass="ref=" href="+d_">"super L4771.d_">&qua> =ignreturncT> *) *)   1INODE_CACHE"commcommentbuffer_h">"super L4771."610rignreturncT> *) *)">11spansuperr="Lrblass="   11sp77 *)_cache_get_super               wrs="lnetas=">_cache_get_super"commcommentbuffer_hcIot;super L4771.ci;610rignreturnc">11span10w_="Lrb *)   11sp77 *) *)">11spanpag" hre="">11spanpag" hreignreturnc11 f_ro9ttT> *)   1pgoff_t0ta24">11spanpag"_index hreignreturnc11 f_ro9t+- class="sref">OClow_cp9rees<93tree24l6ss="lunsignedl"L*)   11spfromret   1loff_t0ta24238offss= =_nnnnnnnnnn11
950010tatic int  *)">11spanaddress_spac" hre=" *)"super L4771."610="ass="ref=" href="+i_mappi50refcounttree l_i_mappi50 hreignreturnc11
na>kordrees(stNULLline" name9hether610 950010tatic int ">11spantrace_wrs="lduplicate_nre_refc_by_pag""commcommentbuffer_hc6tttttt(unsignnnnnnnnn1111_nnnnnnnnnn *))
10tatic int kordrrrrrrrrrrrrrrrrrrrrrrrr *)(st2422ss="lin24acino">inobh)
1950010tatic int    1wrs="lnow_23   >nnre_refc="fs/ocfs2/rele16="asbimment">   11sp77(st24e5ss="lin24ref=cocfs2/rele16="aa hrefSBT> *)   11sp7710tatic int    1loff_t0ta2)commentbuffer_hc6tttttt(unsignnnnnnnnn1111)cordrordrcocfs2/rele16="aa hrefSBT> *)   11sp7711 f_ro950010tatic int  =ckr/a> *)238offss=   11sp77(st2468ss="l455ss="lin2411
11 =
243_refexteblock *)11
950010tatic int 1111111111* Wenonly duplicate pag"sluntil4t15laach<0menpag" 23  ains i_cize - 1ea>243_refexteblock *)10tatic int 243_refexteblock *)10tatic int 10tatic int  =coasscocfs2/rele16="ai_cize_rea/refcounttree l_i_cize_rea/"commcommentbuffer_h">"super L4771."610r)434ss="lin24d="L481" class="line" na9 revs=">11950010tatic int  =ckr/a> *)"super L4771."610rignreturnc1950010tatic int (st24e5ss="lwhilecmcommentbuffer_hwffss="ass=123ss=>238offss=">11spanpag"_index hreckr/a> *)238offss=   1loff_t0ta2)commentbuffer_hpag"_indexref=na>">11spanpag"_index hrec+ 1)cordrordrcocfs2/rele16="aPAGE_CACHE_SHIFTtttt(unsignnnnnPAGE_CACHE_SHIFT hreignreturnc =ignreturnc10tatic int 11 =
< from,50010  Che71 whether we neec a split hehe="L9ftsref=0+a9+7- class="sref">OClow_cp9rees<96_4 12472ss="lin24"+11   11spfrom *)238offss=(st13re_refcouren_coPAGE_CACHE_SIZEou32mment">   1PAGE_CACHE_SIZE1190 *)   1PAGE_CACHE_SIZE1950010tatic int (st13re_refcouren_coPAGE_CACHE_SIZEou32mment">   1PAGE_CACHE_SIZEOClow_cp9rees<96>(st24e5ss="lin24ref=cn24umclnnnnnnnnn *)(st13re_refcouren_coPAGE_CACHE_SIZEou32mment">   1PAGE_CACHE_SIZEOClow_cp9rees<96>(st2n2450011               24500>2489 ="f>242e_9+7- class="sref">OClow_cp9rees<9610ta2327ss="lin2300">11spanpag" hre=krefcouren_contigfind_or_ reate_pag"ref=na>">11spanfind_or_ reate_pag""commcommentbuffer_hmappi50refcounttree l_nappi50">11spanpag"_index hre_nnnnnnnnnn">11spanGFP_NOFS;610rignreturncOClow_cp9rees<96_4 12478ss="lin24   }
OClow_cp9rees<96"#L524e9ss="lin24co11<55ss="lin2411
11 =
243_refexteblock *)246e=9L4href="+code=ocfs2_read_9efcou9710ta238ass="lin232_refre_ure1111111111111111* In0case PAGE_CACHE_SIZEcordrkrCLUSTER_SIZE, Thisopag""c243_refexteblock *)10  Che71 whether we neec a split hehe="L9"rdr>246159" href="+code=ocfs2_read_9efcou97_4 12473ss="lin24umclin23re_refcouren_coPAGE_CACHE_SIZEou32mment">   1PAGE_CACHE_SIZE *)   11sp77   11spBUG_ON href="+code=9 mlog_Pag"Dirtyrefcounttree l_Pag"Dirty href="+code=9 mlog_pag"ref=na>">11spanpag" hre)rrrefref=" href="+code=9 1ss="comm11  9" cpooref"9nFT> *) *)">11spanpag" hre)rren_ch href="fs/ocfs2/reass="comm11   99="f>242e_9tree_puteeeeeeeeeeeeeeeee9eeeee9710ta2327ss="lin230011 *) href="+code=ocfs2_read_9efcou97>(st2468ss="lin24TIG_a>11   1filelass="ass="ref=" href="+f_rine" name="L48prf_ri hre_nnnnnnnnnn   1filelass_4e3ss="lin24class="srebh)
*5610 9idT> *) *)">11spanpag" hre_nnnnnnnnnn">11spanpag"_index hre_4e3ss="lin24class="srebh)
OClow_cp9rees<9810ta246ass="lin24truct iona>kordr+codocfsssssunlock1 *)OClow_cp9rees<98>(st2422ss="lin24acino">inobh)
2481590">11spanpag" hre)rren_ch href="fs/ocfs2/reass="comm11   9_"e=io610 91>ret238/a>a> =ckr/a> *)">11spanb"Lrb_c a/_full_pag" href="+code=9 mlog_pag"ref=na>">11spanpag" hre_nnnnnnnnnn">11span classget_="Lrb hrerrrefref=" href="+code=9 1ss="comm11  9_ cpooref"9nFT> *)238/a>a> =rren_ch href="fs/ocfs2/reass="comm11   9_ttt*5610 9<242_na>kordhref="+.610 9900240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  9 els7h211
9">- class="sref">OCla hre9="+co9810ta2327ss="lin230011>24un"Lrbref=na>">11spanun"Lrb(st2468ss="lin24TIG_a>1111
na>kordrees(stNULLline" name9lg.>*5610 9dree_puteeeeeeeeeeeeeeeee9eeeee98"#L524e9ss="lin24co11f (">11span"Lrb_pag" href="+code=9 mlog_pag"ref=na>">11spanpag" hre)ignreturncret11
na>kordrees(stNULLline" name9_500119=>ret11
na>kordrees(stNULLline" name9_L48NULLn_9=>ret">11spanpag" hre)rren_ch href="fs/ocfs2/reass="comm11   9aaci>248159r href="+code=ocfs2_read_9efcou99_4 12473ss="lin24umclf (   1handlea> =_nnnnnnnnnn">11spanpag" hre)_4e3ss="lin24class="srebh)
   11spfrom =_4e3ss="lin24class="srebh)
238/a>a> =rren_ch href="fs/ocfs2/reass="comm11   9tels7h211
9tree_puteeeeeeeeeeeeeeeee9eeeee9910ta2327ss="lin230011ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11  9al771sref"9=s- class="sref">OClow_cp9rees<99>(st2468ss="lin24TIG_________________ass="comment24la>>24un"Lrbref=na>">11spanun"Lrb2387" 9r>- class="sref">OClow_cp9rees<99"#L52479ss="lin24785000000000}>11
na>kordrees(stNULLline" nam3095001309500class="sref">OClow_c30950>30950ta246ass="lin24truc}>1/pre>7a/50/64dba04d9281b0e02733d389baa82294a80b_3/30950>11
na>kordrees(stNULLline" nam3091001309>retr>309_4 12>11
na>kordrees(stNULLline" nam3092001309>retr>309_4 12472ss="lin24"+11">11span classnap_andrdirty_pag""commcommentbuffer_h">"super L4771."610_nnnnnnnnnn   1handlea> =_nnnnnnnnnn   11spfrom11
na>kordrees(stNULLline" nam3093001309 href="+code=ocfs2_read309 h>309_4 12473ss="lin24umcllllllllllllllllllllllllll="+code=9 mlog_pag"ref=na>">11spanpag" hre_n0_nnt_unlock" 7" id="Li10w_="Lrbref=na>">11span10w_="Lrb1309 href="+code=ocfs2_read309 h>30910ta2464ss="lin24porccommentbuffer_hmarb_pag"raccesse/refcounttree l_marb_pag"raccesse/ href="+code=9 mlog_pag"ref=na>">11spanpag" hre)ignreturnc1309 href="+code=ocfs2_read309 h>30910ta24omment24la>>24un"Lrbref=na>">11spanun"Lrb11
na>kordrees(stNULLline" nam3096001309lT> *)">11spanun"Lrb_pag" href="+code=9 mlog_pag"ref=na>">11spanpag" hre)ignreturnc1309ree_puteeeeeeeeeeeeeeee309re>30910ta2327ss="lin2300">11spanpag"_cache_releas= href="+code=9 mlog_pag"ref=na>">11spanpag" hre)ignreturnc1309s- class="sref">OClow_c309s->309>(st2468ss="lin24TIG_aommentbuffer_hpag"ref=na>">11spanpag" hre=krefcouren_contigNULLimment">   11spNULL1111a>11
na>kordrees(stNULLline" nam3099001309>- class="sref">OClow_c309>->309"#L524e9ss="lin24co11238offss= *)11
na>kordrees(stNULLline" nam30150013050010tatic int 30504 12472ss="lin24"+11in23nnnnnnnnnocfsreadere_rmlog_eaaaagofo>kordrees(stLufs2/refco305100130tree_puteeeeeeeeeeeeeeee30tre>305_4 12461ss="lin24ationa>kordrbreaka>11
na>kordrees(stNULLline" nam3012001300_href="+code=ocfs2_read300_h>305_4 12472ss="l}>11
na>kordrees(stNULLline" nam305300130> href="+code=ocfs2_read30> h>305_4 124e3ss="lin24class="srebh)
130ig> *)130t+- class="sref">OClow_c30t+->30510ta2}>11
na>kordrees(stNULLline" nam30560013077- class="sref">OClow_c3077->305>(st2n2450011               24500>24305700130__href="+code=ocfs2_read30__h>30510ta2"L*)   1handle_tlass="="+code=9 mlog_handleou32mment">   1handlea> =_4e3ss="lin24class="srebh)
130+7- class="sref">OClow_c30+7->305>(st2468ss="lin24TIG_a>11   1filelass="="+code=9 mlog_fileou32mment">   1filelass_4e3ss="lin24class="srebh)
130rFT> *)T> *)T> *) *))
130L4href="+code=ocfs2_read30L4h>30L4#L52479ss="lin247850000000006ss="lin24lsT> *) *)T> *)1300>retr>30L_4 12en_ch href="fs/ocfs2/reass="comm11  30L2001301>retr>30L_4 12472ss="liL*)238/a>a> =ckr0ignreturnc130_>retr>30L_4 12473ss="l *)"super L4771."610="="+code=9 mlog_">"super L4771."610=krefcouren_contigfileou32mment">   1filelass="ass="ref=" href="+f_patcimment">   11spf_patclass.re_refcouren_cosentryrefcounttree l_sentrylass="ass="ref=" href="+d_">"super L4771.d_">&qua> =ignreturnc130
>retr>30L10ta2464ss="l *)">11spansuperr="Lrblass="   11sp77 *)"super L4771."610="ass="ref=" href="+i_sbimment">   11spi_sba> =ignreturnc130_>retr>30L50ta2464ss="l *)   1INODE_CACHE"commcommentbuffer_h">"super L4771."610rignreturnc130rFT> *) =ennnnnnnnnn *)   11sp77130efcouren_adjacinod *)30L10ta2327ss="l10ta  11spu610ta24">11span ldn="Lrb="fsckr/a> *)   11sp77 *) h>30L80ta2327ss="l10ta  11spu610ta24">11span10w_="Lrb *)   11sp77 *)30L90ta2464ss="l *)   11spo77 *) *)   11sp77130="T> *)30="0ta2464ss="l *)   11sp ldn=c hre=krefcouren_contigNULLimment">   11spNULL1111a>11
na>kordrees(stNULLline" nam303100130">T> *)T>30=_4 12461ss="l *)   11sp10w_=c hre=krefcouren_contigNULLimment">   11spNULL1111a>11
na>kordrees(stNULLline" nam303200130)>T> *)inobh)
130_>T> *)">11spantrace_wrs="lduplicate_nre_refc_by_pag""commcommentbuffer_hc6tttttt(unsignnnnnnnnn1111_nnnnnnnnnn *))
130_>retr>30=10ta2464ss="lin24porcccccccccccccccccccccccccccccccc *)30=10ta2>11
na>kordrees(stNULLline" nam30=600130t+- class="sref">OClow_c30t+->30=6(st24e5ss="lfor23nnnnnnnnn =ckr0i) =cordrcocfs2/rele16="a="Lrbstttt(unsignnnnn="Lrbs="fsi) =++_nnnnnnnnnn">11span ldn="Lrb="fs++_nnnnnnnnnn">11span10w_="Lrb130">retr>30=10ta2327ss="lin2300   11sp10w_=c hre=krefcouren_contigsbsgetblbref=na>">11spansbsgetblb"commcommentbuffer_hosbimment">   11spo77   11sp77">11span10w_="Lrb13050010tatic int 30=>(st2468ss="lin24TIG_in23re_refcouren_co10w_=cimment">   11sp10w_=c hre=kkrefcouren_contigNULLimment">   11spNULL1111rren_ch href="fs/ocfs2/reass="comm11  30=90013050010tatic int 30="#L524e9ss="lin24co11f (238EIO1111a>11
na>kordrees(stNULLline" nam30450013050010tatic int 3050#L524e9ss="lin24co11f (240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 30510013050010tatic int 305_4 12461ss="lin24ationa>kordrbreaka>11
na>kordrees(stNULLline" nam30420013050010tatic int 305_4 12472ss="lin24"+11}>11
na>kordrees(stNULLline" nam30430013050010tatic int 305_4 124e3ss="lin24class="srebh)
13050010tatic int 30510ta2464ss="lin24porccommentbuffer_hwrs="lset_10w_bufferruptodaterefcounttree l_wrs="lset_10w_bufferruptodate"commcommentbuffer_hcIot;super L4771.ci;610_nnnnnnnnnn   11sp10w_=c hreerrefref=" href="+code=9 1ss="comm11 30550013050010tatic int 30510ta2>11
na>kordrees(stNULLline" nam30460013050010tatic int 305tree24l6ss="lin24lsfs238/a>a> =ckr/a> *)">11span cheeoreadn="Lrb"commcommentbuffer_hcIot;super L4771.ci;610_nnnnnnnnnn">11span ldn="Lrb="fs_nnt_unlock" 7" id="Li ldn=cimment">   11sp ldn=c hre_nnnnnnnnnn   11spNULL1111rrrefref=" href="+code=9 1ss="comm11 30570013050010tatic int 30510ta2327ss="lin2300238/a>a> =rren_ch href="fs/ocfs2/reass="comm11  30580013050010tatic int 305>(st2468ss="lin24TIG_a>11240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 30590013050010tatic int 305"#L524e9ss="lin24co11f (11
na>kordrees(stNULLline" nam30550013050010tatic int 30504 12472ss="lin24"+11}>11
na>kordrees(stNULLline" nam30510013050010tatic int 305_4 12>11
na>kordrees(stNULLline" nam30520013050010tatic int 305_4 12472ss="lin24"+11238/a>a> =ckr/a> *)">11span cheeojournalraccess href="+code=9 mlog_handleou32mment">   1handlea> =_4   11sp10w_=c hre_4e3ss="lin24class="srebh)
13050010tatic int 305_4 12473ss="lin24umcllllllllllllllllllllllllll=cocfs2/rele16="aa hrefJOURNAL_ACCESS_CREATEou32mment">   1a hrefJOURNAL_ACCESS_CREATElog_errefref=" href="+code=9 1ss="comm11 30540013050010tatic int 30510ta2464ss="lin24porcin23re_refcouren_coss="ass=123ss=>238/a>a> =rren_ch href="fs/ocfs2/reass="comm11  30550013050010tatic int 305>(st24e5ss="lin24ref=cn24umclnnnnnnnnn240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 30560013050010tatic int 305tree24l6ss="lin24lsfsin24porcbreaka>11
na>kordrees(stNULLline" nam305700130tree_puteeeeeeeeeeeeeeee30tre>30510ta2327ss="lin230011
na>kordrees(stNULLline" nam3058001302>retr>305_4 12478ss="lin24   }
   11sp10w_=c hre="ass="ref=" href="+b_s=">tttt(unsignnnnn=_s=">;610_nnnnnnnnnn   11sp ldn=c hre="ass="ref=" href="+b_s=">tttt(unsignnnnn=_s=">;610_nnnnnnnnnn   11sp77130_u010tatic int 30_u0ta2464ss="lin24porccommentbuffer_hwrs="ljournalrdirtyrefcounttree l_wrs="ljournalrdirty href="+code=9 mlog_handleou32mment">   1handlea> =_4   11sp10w_=c hreerrefref=" href="+code=9 1ss="comm11 306100130)_href="+code=ocfs2_read30)_h>30__4 12>11
na>kordrees(stNULLline" nam306200130+7- class="sref">OClow_c30+7->30__4 12472ss="lin24"+11">11spanbrels= href="+code=9 mlog_n0w_=cimment">   11sp10w_=c hreerrefref=" href="+code=9 1ss="comm11 306300130030__4 12473ss="lin24umclnnnnnnnnn">11spanbrels= href="+code=9 mlog_oldn=cimment">   11sp ldn=c hreerrefref=" href="+code=9 1ss="comm11 30640013050010tatic int 30_10ta2464ss="lin24porccommentbuffer_h10w_=cimment">   11sp10w_=c hre=krefcouren_contigNULLimment">   11spNULL1111a>11
na>kordrees(stNULLline" nam306500130t+- class="sref">OClow_c30t+->30_>(st24e5ss="lin24ref=   11sp ldn=c hre=krefcouren_contigNULLimment">   11spNULL1111a>11
na>kordrees(stNULLline" nam306600130_)- class="sref">OClow_c30_)->30_tree24l6ss="l}>11
na>kordrees(stNULLline" nam306700130+7- class="sref">OClow_c30+7->30_74 12>11
na>kordrees(stNULLline" nam306800130se- class="sref">OClow_c30se->30_80ta2327ss="l">11spanbrels= href="+code=9 mlog_n0w_=cimment">   11sp10w_=c hreerrefref=" href="+code=9 1ss="comm11 306900130+7- class="sref">OClow_c30+7->30_"#L52479ss="lcomment24la>>24brels=ref=na>">11spanbrels= href="+code=9 mlog_oldn=cimment">   11sp ldn=c hreerrefref=" href="+code=9 1ss="comm11 307500130L4href="+code=ocfs2_read30L4h>30L4#L52479ss="l_rmurnk238/a>a> =ignreturnc130x href="+code=ocfs2_read30x h>30L_4 12}>11
na>kordrees(stNULLline" nam307200130r href="+code=ocfs2_read30r h>30L>(st2422ss="lin24acino">inobh)
130" href="+code=ocfs2_read30" h>30L_4 12mmetic "L*)   1handle_tlass="="+code=9 mlog_handleou32mment">   1handlea> =_4e3ss="lin24class="srebh)
130" href="+code=ocfs2_read30" h>30L10ta2464ss="lin24porccccccccccccccccccccc *))
)
30L>(st24e5ss="lin24ref=in24umclcccccccccccc="+code=9 mlog_u)>T> *)T> *) *)T> *))
130nlT> *))
130tree_puteeeeeeeeeeeeeeee30tre>30L10ta2327ss="lin230011)
130> href="+code=ocfs2_read30> h>30L>(st2468ss="lin24TIG_a>11)
130idT> *)13077- class="sref">OClow_c3077->3077(st2468ss="liL*)238/a>a> =_nnnnnnnnnn">11spanindex hreignreturnc130__href="+code=ocfs2_read30__h>307_4 12461ss="l *)OClow_c30+7->307_4 12472ss="l *)   11spwrs="lpatclass="="+code=9 mlog_patcimment">   11sppatclass=krefcouren_contigNULLimment">   11spNULL1111a>11
na>kordrees(stNULLline" nam3083001300307_4 12473ss="l *)1301>retr>30710ta2464ss="l *)">11spansuperr="Lrblass="   11sp77 *)130nFT> *)10ta  11spu610ta24 *)_cache_owner               wrs="lnetas=">_cache_owner"commcommentbuffer_hs="ass=123ss=>238s=130<242_na>kordhref="+.610 30<24>307>(st2n2450011               24500>24308700130">- class="sref">OCla hr30">->30710ta2327ss="l)
130=_href="+code=ocfs2_read30=_h>307>(st2468ss="lin24TIG_a>11130dree_puteeeeeeeeeeeeeeee30dre>30710ta2>11
na>kordrees(stNULLline" nam3095001300>retr>300>0ta2327ss="l238memss="commnt_unlock" 7" id="Lireplace_rertttt(unsignnnnnreplace_rer hre_n0_nsizeoff="+code=9 mlog_erplace_rertttt(unsignnnnnreplace_rer hre)rrrefref=" href="+code=9 1ss="comm11 300100130=>retr>30010ta2327ss="l *)T> *)"commcommentbuffer_hc6tttttt(unsignnnnnnnnn1111)rrefref=" href="+code=9 1ss="comm11 300200130=>retr>30020ta2327ss="l   1e_leafnnre_refc *)300_4 12473ss="lnnnnnnnnn *)10ta  11spcpu_to_le50 href="+code=9 mlog_ocheeonre_refc_to_="Lrbstttt(unsignnnnnwrs="lnre_refc_to_="Lrbs="fs/ocfs2/rele16="asbimment">   11sp77130r href="+code=ocfs2_read30r h>30010ta2464ss="lin24porccccccccccccccccccccccccccccccccc130" href="+code=ocfs2_read30" h>300>(st24e5ss="l130nlT> *)130=s- class="sref">OClow_c30=s->30080ta2327ss="l   11sppatclass=krefcouren_contigwrs="l10w_patc_from_s="ass=123ss=>238ors="l10w_patc_from_s="commcommentbuffer_hs="ass=123ss=>238s=130r>- class="sref">OClow_c30r>->300"#L52479ss="lin23!re_refcouren_copatcimment">   11sppatclassrren_ch href="fs/ocfs2/reass="comm11  3195001319500class="sref">OClow_c31950>31950ta246ass="lin24truc238/a>a> =ckr-nnnnnnnnn238ENOMEMeblorrefref=" href="+code=9 1ss="comm11 3191001319>retr>310_4 12461ss="lin24atioataee.cacacheeoma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 3192001319>retr>319_4 12472ss="lin24"+11ass="comment24la>>24ou="ass=123ss=>238ou>a> =ignreturnc1319 href="+code=ocfs2_read319 h>319_4 12473ss="l}>11
na>kordrees(stNULLline" nam3194001319 href="+code=ocfs2_read319 h>310mmen2434ss="lin24d="L481" class="line" n3105001319 href="+code=ocfs2_read319 h>310>(st24e5ss="l238/a>a> =ckr/a> *)   11spwrs="lfind_patc"commcommentbuffer_hs="ass=123ss=>238s=   11sppatclass_41319lT> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 3198001319s- class="sref">OClow_c319s->319>(st2468ss="lin24TIG_ass="comment24la>>24ou="ass=123ss=>238ou>a> =ignreturnc1319>- class="sref">OClow_c319>->319"#L524e9ss="l}>11
na>kordrees(stNULLline" nam31150013150010tatic int 31110ta2refref=" href="+code=9 1ss="comm11 311100131tree_puteeeeeeeeeeeeeeee31tre>31110ta2327ss="l =ckr/a> *)   11sppatclassrignreturnc1310_href="+code=ocfs2_read310_h>311>(st2422ss="lin24acino">inobh)
131> href="+code=ocfs2_read31> h>311_4 12473ss="lnnnnnnnnn">11spanindex hreckr/a> *) =_4131ig> *)">11spanindex hreckkr-1 ||lnnnnnnnnn">11spanindex hrec"asskr/a> *)_to_cpu_tsrnnnnnnnnnnnle5>_to_cpu"commcommentbuffer_hsl.andle="comm11 ela> =="ass="ref=" href="+ll10xt_fcom_rertttt(unsignnnnnll10xt_fcom_rer1111)rren_ch href="fs/ocfs2/reass="comm11  315500131t+- class="sref">OClow_c31t+->311>(st24e5ss="lin24ref=   11sp7713177- class="sref">OClow_c3177->311tree24l6ss="lin24lsfs2_unlockkkkk452ss="lin24Cstri50r>"Iquot %llu has ss=extent at nnnn %u which can no "a>10  Che71 whether we neec a split hehe="311700131__href="+code=ocfs2_read31__h>31110ta2327ss="lin230011"longer be fspld.\n"a>10  C_refref=" href="+code=9 1ss="comm11 315800131+7- class="sref">OClow_c31+7->315>(st2468ss="lin24TIG_a>11315"#L52479ss="lin247850238/a>a> =ckr-nnnnnnnnn">11spanEROFSa> =ignreturnc131L4href="+code=ocfs2_read31L4h>31L4#L52479ss="lin247850ass="comment24la>>24ou="ass=123ss=>238ou>a> =ignreturnc1310>retr>3121#L524e9ss="l}>11
na>kordrees(stNULLline" nam31L2001311>retr>312>(st2422ss="lin24acino">inobh)
131_>retr>312_4 12473ss="lnnnnnnnnn238/a>a> =ckr/a> *)   1handlea> =_4238s=   11sppatclass_4">11spanindex hre_refref=" href="+code=9 1ss="comm11 31L400131
>retr>31210ta2464ss="lin24porccccccccccccccccccnt_unlock" 7" id="Lireplace_rertttt(unsignnnnnreplace_rer hre_nr>31L50ta2464ss="lin23nnnnnnnnnocfsreadere_rmlog_eaaaagofo>kordrees(stLufs2/refco31L600131rFT> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 31L700131efcouren_adjacinod *)31274 12>11
na>kordrees(stNULLline" nam31L800131> href="+code=ocfs2_read31> h>31L80ta2comment24la>>24ou="ass=123ss=>238ou>a> =:>11
na>kordrees(stNULLline" nam31L900131idT> *)   11spwrs="lfcom_patc href="+code=9 mlog_patcimment">   11sppatclassrignreturnc131="T> *)3134#L52479ss="l_rmurnk238/a>a> =ignreturnc131">T> *)T>313_4 12}>11
na>kordrees(stNULLline" nam313200131)>T> *)inobh)
131_>T> *)   1wrs="lreplace_nre_refc="fs/ocfs2/rele16="ahandle_tou32mment">   1handle_tlass="="+code=9 mlog_handleou32mment">   1handlea> =_4e3ss="lin24class="srebh)
131_>retr>31=10ta2464ss="lin24porccccccccccccccccccc *))
131ttT> *)T> *)T> *))
131t+- class="sref">OClow_c31t+->313tree24l6ss="lin24lsfs2_unlockkkkkkkkkkknnnnnnnnnT> *) *)T> *))
131">retr>31=10ta2327ss="lin2300kordrees(stLufs2/refco31380013150010tatic int 31=>(st2en_ch href="fs/ocfs2/reass="comm11  31=90013150010tatic int 31="#L524e9ss="liL*)238/a>a> =ignreturnc13150010tatic int 314"0ta2464ss="l *)238d=">_s= hre.re_refcouren_coet_4Iot;super L4771.et_4I hreignreturnc13150010tatic int 31410ta2327ss="l10ta  11spu610ta24 *)_cache_owner               wrs="lnetas=">_cache_owner"commcommentbuffer_hcIot;super L4771.ci;610rignreturnc13150010tatic int 314>(st2422ss="lin24acino">inobh)
13150010tatic int 314_4 12473ss="lnnnnnnnnn   1trace_wrs="lreplace_nre_refc"comm(unsignedllongllong)commentbuffer_hi                 ino)
13150010tatic int 31510ta2464ss="lin24porcsfs2_unlockkkkkkkkkkknnnnnnnnn *)13150010tatic int 315tree24l6ss="l452ss="lin24Ccommentt>/*If the wld nre_refc is/unwritten, no needlto duplicate. */a>10  Che71 whether we neec a split hehe="31570013150010tatic int 31510ta2327ss="lin23!mcommentbuffer_hsxt_flagttttt(unsignnnnnext_flagteblocnt_uncocfs2/rele16="aa hrefEXT_UNWRITTENtttt(unsignnnnna hrefEXT_UNWRITTEN1111)rren_ch href="fs/ocfs2/reass="comm11  31580013150010tatic int 315>(st2468ss="lin24TIG_nnnnnnnnn238/a>a> =ckr/a> *)   1handlea> =_4   1filelass_4e3ss="lin24class="srebh)
13150010tatic int 315"#L524e9ss="lin24co11f ( *)kordr240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 31520013150010tatic int 315_4 12472ss="lin24"+1111111111ass="comment24la>>24ou="ass=123ss=>238ou>a> =ignreturnc13150010tatic int 315_4 12473ss="lin24umcl}>11
na>kordrees(stNULLline" nam31540013150010tatic int 31510ta2464ss="l}>11
na>kordrees(stNULLline" nam31550013150010tatic int 31510ta2>11
na>kordrees(stNULLline" nam31560013150010tatic int 31564 12473ss="lnnnnnnnnn238/a>a> =ckr/a> *)   1handlea> =_4nt_unlock" 7" id="Li23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+d=">_s="ass=123ss=>238d=">_s= hre_4e3ss="lin24class="srebh)
131tree_puteeeeeeeeeeeeeeee31tre>31510ta2327ss="lin2300 *))
1312>retr>315>(st2468ss="lin24TIG_a>11ocfsreadere_rmlog_eaaaagofo>kordrees(stLufs2/refco316500131_u010tatic int 31_u0ta2464ss="lin24porccommentbuffer_hma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 316100131)_href="+code=ocfs2_read31)_h>31__4 12comment24la>>24ou="ass=123ss=>238ou>a> =:>11
na>kordrees(stNULLline" nam316200131+7- class="sref">OClow_c31+7->31__4 12472ss="l_rmurnk238/a>a> =ignreturnc131031__4 12}>11
na>kordrees(stNULLline" nam31640013150010tatic int 316mmen2434ss="lin24d="L481" class="line" n316500131t+- class="sref">OClow_c31t+->31_>(st2"L*)">11span cheeoc3w_sync_writebarb href *)">11spansuperr="Lrblass="   11sp77)
131_)- class="sref">OClow_c31_)->316tree24l6ss="lin24lsfs2_unlockkkkkk *)"super L4771."610="="+code=9 mlog_">"super L4771."610_4e3ss="lin24class="srebh)
131+7- class="sref">OClow_c31+7->31610ta2327ss="lin2300T> *)T> *)kordrees(stLufs2/refco316800131se- class="sref">OClow_c31se->316>(st2en_ch href="fs/ocfs2/reass="comm11  316900131+7- class="sref">OClow_c31+7->316"#L524e9ss="liL*)238/a>a> =ckr0ignreturnc131L4href="+code=ocfs2_read31L4h>317>0ta2327ss="l   1loff_t4 124238offss=eblo_4 =ignreturnc131x href="+code=ocfs2_read31x h>31710ta2327ss="l   1pgoff_t4 124">11spanpag"_indexa> =ignreturnc131r href="+code=ocfs2_read31r h>317_4 12472ss="l *)">11spanpag""com="="+code=9 mlog_pag"ref=na>">11spanpag""comignreturnc131" href="+code=ocfs2_read31" h>317_4 124e3ss="lin24class="srebh)
131" href="+code=ocfs2_read31" h>31L10ta2464ss="lin23nnnnnnnnntttt(unsignnnnnwrs="lshould_orderrs="> href="+code=9 mlog_">"super L4771."610reaaaagofo>kordrees(stLufs2/refco317500131nFT> *)131nlT> *)   1loff_t4 12)commentbuffer_h46tttttt(unsignnnnnnnnn1111)cordrordrcocfs2/rele16="aa hrefSBT> *)   11sp77 h>31780ta2327ss="l *)238offss=ebloc+23re_refcouren_co1um_nre_refctttt(unsignnnnnnum_nre_refclog_cordrordrcocfs2/rele16="aa hrefSBT> *)   11sp7731710ta2>11
na>kordrees(stNULLline" nam31850013177- class="sref">OClow_c3177->318>0ta2327ss="l238/a>a> =ckr/a> *)write_rang"ref=na>">11spanfilemap_fs=">write_rang" href="+code=9 mlog_">"super L4771."610="ass="ref=" href="+i_mappi50rt;super L4771.&_mappi50;610_4e3ss="lin24class="srebh)
131__href="+code=ocfs2_read31__h>318_4 12461ss="lin24ationa>kordr131+7- class="sref">OClow_c31+7->317_4 12472ss="lin23nnnnnnnnnocfsreadere_rmlog_cordrc0rren_ch href="fs/ocfs2/reass="comm11  3183001310318_4 12473ss="lin24umclcommentbuffer_hma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 3174001311>retr>31710ta2464ss="lin24ref=_rmurnk238/a>a> =ignreturnc131nFT> *)11
na>kordrees(stNULLline" nam318600131<242_na>kordhref="+.610 31<24>317>(st2n2450011               24500>24318700131">- class="sref">OCla hr31">->31710ta2327ss="lwhile23nnnnnnnnn238offss=eblocordrcocfs2/rele16="aendtttt(unsignnnnnendeblorren_ch href="fs/ocfs2/reass="comm11  318800131=_href="+code=ocfs2_read31=_h>317>(st2468ss="lin24TIG_">11spanpag"_indexa> =ckr/a> *)238offss=ebloc"ass"assr/a> *)238PAGE_CACHE_SHIFTa> =ignreturnc131dree_puteeeeeeeeeeeeeeee31dre>318"#L524e9ss="lin24co11 =ckr(/ocfs2/rele16="aloff_tou32mment">   1loff_t4 12)commentbuffer_hpag"_indexref=na>">11spanpag"_indexa> =c+ 1ecordrordrcocfs2/rele16="aPAGE_CACHE_SHIFT"ass=123ss=>238PAGE_CACHE_SHIFTa> =ignreturnc1310>retr>31904 12472ss="lin24"+11in23re_refcouren_comap_endtttt(unsignnnnnmap_enda> =c"assr/a> *)131=>retr>319_4 12461ss="lin24ationa>kordr =ckr/a> *)131=>retr>319>(st2422ss="lin24acino">inobh)
131r href="+code=ocfs2_read31r h>319_4 12473ss="lin24umclcommentbuffer_hpag"ref=na>">11spanpag""com=kr/a> *)">11spanfind_or_create_pag" href="+code=9 mlog_">"super L4771."610="ass="ref=" href="+i_mappi50rt;super L4771.&_mappi50;610_4e3ss="lin24class="srebh)
131r href="+code=ocfs2_read31r h>31010ta2464ss="lin24porcccccccccccccccccccccccccccccommentbuffer_hpag"_indexref=na>">11spanpag"_indexa> =_4">11spanGFP_NOFSlog_errefref=" href="+code=9 1ss="comm11 310500131" href="+code=ocfs2_read31" h>319>(st24e5ss="lin24ref=">11spanpag""comerrefref=" href="+code=9 1ss="comm11 310600131nlT> *)">11spanwait_on_pag"_writebarb href="+code=9 mlog_pag"ref=na>">11spanpag""comerrefref=" href="+code=9 1ss="comm11 310800131=s- class="sref">OClow_c31=s->319>(st2468ss="lin24TIG_in23re_refcouren_coPag"Error               Pag"Error href="+code=9 mlog_pag"ref=na>">11spanpag""comerren_ch href="fs/ocfs2/reass="comm11  310900131r>- class="sref">OClow_c31r>->319"#L524e9ss="lin24co11f (238EIO1111a>11
na>kordrees(stNULLline" nam3295001329500class="sref">OClow_c32950>32950ta246ass="lin24trucf (240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 3291001329>retr>320_4 12461ss="lin24atio} els=refref=" href="+code=9 1ss="comm11 3292001329>retr>329_4 12472ss="lin24"+11f (">11spanpag""comerrefref=" href="+code=9 1ss="comm11 3293001329 href="+code=ocfs2_read329 h>320_4 124e3ss="lin24class="srebh)
1329 href="+code=ocfs2_read329 h>32010ta2464ss="lin24porccommentbuffer_hun"Lrb_pag"ref=na>">11spanun"Lrb_pag" href="+code=9 mlog_pag"ref=na>">11spanpag""comerrefref=" href="+code=9 1ss="comm11 3295001329 href="+code=ocfs2_read329 h>320>(st24e5ss="lin24ref=">11spanpag"_cache_releas= href="+code=9 mlog_pag"ref=na>">11spanpag""comerrefref=" href="+code=9 1ss="comm11 3296001329lT> *)">11spanpag""com=kr/a> *)   11spNULL1111a>11
na>kordrees(stNULLline" nam3297001329ree_puteeeeeeeeeeeeeeee329re>32910ta2327ss="lin2300238offss=eblockr =ignreturnc1329s- class="sref">OClow_c329s->329>(st2468ss="lin24TIG_in23nnnnnnnnnocfsreadere_rmlog_eaaaagofo>kordrees(stLufs2/refco3299001329>- class="sref">OClow_c329>->320"#L524e9ss="lin24co11f (11
na>kordrees(stNULLline" nam32150013250010tatic int 32150ta246ass="l}>11
na>kordrees(stNULLline" nam321100132tree_puteeeeeeeeeeeeeeee32tre>321_4 12>11
na>kordrees(stNULLline" nam3212001320_href="+code=ocfs2_read320_h>321_4 12472ss="l_rmurnk238/a>a> =ignreturnc132> href="+code=ocfs2_read32> h>321_4 12}>11
na>kordrees(stNULLline" nam325400132ig> *)132t+- class="sref">OClow_c32t+->321>(st2mmetic "L*)   1wrs="ldi_get_nre_refc href *))
13277- class="sref">OClow_c3277->321tree24l6ss="lin24lsfs2_unlockkkkk4porccommentbuffer_hu)>T> *) *)T> *)32110ta2327ss="lin230011T> *)OClow_c32+7->325>(st2468ss="lin24TIG_a>11kordrees(stLufs2/refco325900132rFT> *)132L4href="+code=ocfs2_read32L4h>3224#L52479ss="l_rmurnk   1wrs="lget_nre_refc href="+code=9 mlog_23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+i>"super L4771."610_4 *) *))
1320>retr>322_4 12461ss="lin24ationa>kordrr>322>(st2}>11
na>kordrees(stNULLline" nam322300132_>retr>322_4 124e3ss="lin24class="srebh)
132
>retr>32210ta2mmetic "L*)   1wrs="lmake_nre_refc_writable href *)">11spansuperr="Lrblass="   11sp77)
132_>retr>322>(st24e5ss="lin24ref========================= *))
132rFT> *)kordrT> *)T> *) *))
132efcouren_adjacinod *)32210ta2327ss="lin2300T> *)kordrees(stLufs2/refco32L800132> href="+code=ocfs2_read32> h>322>(st2en_ch href="fs/ocfs2/reass="comm11  32L900132idT> *)238/a>a> =_n   1deletea> =_n">11spanindex hre_4132="T> *)323>0ta2327ss="lT> *) =ignreturnc132">T> *)T>323_4 12461ss="lunsignedl"L*) =ignreturnc132)>T> *) *)   11spo77 *) *)   11sp77132_>T> *)   1handle_tlass="="+code=9 mlog_handleou32mment">   1handlea> =ignreturnc132_>retr>32=10ta2464ss="l *)   11spode_leafnbc"com=kr/a> *)   11spNULL1111a>11
na>kordrees(stNULLline" nam32=500132ttT> *) *)OClow_c32t+->323tree24l6ss="l *)retr>32374 12>11
na>kordrees(stNULLline" nam32380013250010tatic int 32380ta2327ss="l   1trace_wrs="lmake_nre_refc_writable href="+code=9 mlog_26tttttt(unsignnnnnnnnn1111_nnnnnnnnnn *))
13250010tatic int 323"#L524e9ss="lin24co11f (13250010tatic int 32410ta2refref=" href="+code=9 1ss="comm11 32410013250010tatic int 32410ta2327ss="l238/a>a> =ckr/a> *)   1wrs="l"Lrb_refcoass_al"Lratofc="fs/ocfs2/rele16="asbimment">   11sp77 *))
13250010tatic int 324_4 12472ss="lin24"+11f (_s="ass=123ss=>238d=">_s= hre_4e3ss="lin24class="srebh)
13250010tatic int 324_4 12473ss="lin24umcl11f ()
13250010tatic int 32510ta2464ss="lin24porcsfs2_unlockkkkkkkkkkks2_unloc="+code=9 mlog_23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+ode_rootnbcimment">   11spode_rootnbc"com_4e3ss="lin24class="srebh)
13250010tatic int 324>(st24e5ss="lin24ref==============================nt_unlock" 7" id="Li23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+meta_acrefcounttree l_meta_aceblo_4e3ss="lin24class="srebh)
13250010tatic int 324tree24l6ss="lin24lsfs24ationa>kordr_acrefcounttree l_d=">_ac1111_nnt_unlock" 7" id="Li2reditttttt(unsignnnnn4redittebloeignreturnc13250010tatic int 32510ta2327ss="lin23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  32580013250010tatic int 325>(st2468ss="lin24TIG_nnnnnnnnn240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 32590013250010tatic int 325"#L524e9ss="lin24co11_rmurnk238/a>a> =ignreturnc13250010tatic int 32550ta246ass="l}>11
na>kordrees(stNULLline" nam32510013250010tatic int 325_4 12>11
na>kordrees(stNULLline" nam32520013250010tatic int 325_4 12472ss="lin23nnnnnnnnnkordrees(stLufs2/refco32530013250010tatic int 325_4 12473ss="lin24umcl *)13250010tatic int 325>(st24e5ss="l *)   1handlea> =ckr/a> *)   1wrs="lstart_tranc href="+code=9 mlog_osbimment">   11spo77132tree_puteeeeeeeeeeeeeeee32tre>32510ta2327ss="lin23nnnnnnnnn   1handlea> =erren_ch href="fs/ocfs2/reass="comm11  3258001322>retr>325>(st2468ss="lin24TIG_238/a>a> =ckr/a> *)   1handlea> =errefref=" href="+code=9 1ss="comm11 32590013250010tatic int 325"#L524e9ss="lin24co11240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 326500132_u010tatic int 32_u0ta2464ss="lin24porcass="comment24la>>24ou="ass=123ss=>238ou>a> =ignreturnc132)_href="+code=ocfs2_read32)_h>3261#L524e9ss="l}>11
na>kordrees(stNULLline" nam326200132+7- class="sref">OClow_c32+7->326>(st2422ss="lin24acino">inobh)
1320326_4 12473ss="lnnnnnnnnn =ckr/a> *)13250010tatic int 326mmen2434ss="lin24d="L481" class="line" n326500132t+- class="sref">OClow_c32t+->326>(st24e5ss="lwhile23nnnnnnnnn132_)- class="sref">OClow_c32_)->326tree24l6ss="lin24lsfs238/a>a> =ckr/a> *)   11spode_rootnbc"com_4e3ss="lin24class="srebh)
132+7- class="sref">OClow_c32+7->32610ta2327ss="lin2300 *))
132se- class="sref">OClow_c32se->326>(st2468ss="lin24TIG_a>1111spanindex hre_4nt_unlock" 7" id="Liree_leafnbcimment">   11spode_leafnbc"comerrefref=" href="+code=9 1ss="comm11 326900132+7- class="sref">OClow_c32+7->326"#L524e9ss="lin24co11in23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  327500132L4href="+code=ocfs2_read32L4h>32750ta246ass="lin24trucf (240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 327100132x href="+code=ocfs2_read32x h>327_4 12461ss="lin24ationa>kordrass="comment24la>>24ou=_committttt(unsignnnnnou=_commitlog_ignreturnc132r href="+code=ocfs2_read32r h>327_4 12472ss="lin24"+11}>11
na>kordrees(stNULLline" nam327300132" href="+code=ocfs2_read32" h>327_4 124e3ss="lin24class="srebh)
132" href="+code=ocfs2_read32" h>32710ta2464ss="lin24porccomment24la>>24BUG_ONtttt(unsignnnnnBUG_ON href!re_refcouren_corertttt(unsignnnnnrer hre.re_refcouren_cor_inobh32L>(st24e5ss="lin24ref= =ckr327tree24l6ss="lin24lsfs24ationa>kordrnnnnnnnnn132> href="+code=ocfs2_read32> h>32780ta2gnreturnc132idT> *)/*a>10  Che71 whether we neec a split hehe="32850013277- class="sref">OClow_c3277->328>0ta2<52ss="lin24Ccommentt>010  Che71 whether we neec a split hehe="328100132__href="+code=ocfs2_read32__h>328_4 12<52ss="lin24Ccommentt>010  Che71 whether we neec a split hehe="328200132+7- class="sref">OClow_c32+7->327_4 12<52ss="lin24Ccommentt>010  Che71 whether we neec a split hehe="3283001320328_4 12<52ss="lin24Ccommentt>010  Che71 whether we neec a split hehe="3284001321>retr>32710ta2<52ss="lin24Ccommentt>010  Che71 whether we neec a split hehe="328500132nFT> *)010  Che71 whether we neec a split hehe="328600132<242_na>kordhref="+.610 32<24>328tree24l6ss="lin24lsfsin23nnnnnnnnn- class="sref">OCla hr32">->32810ta2327ss="lin2300   1deletea> =ckr0ignreturnc132=_href="+code=ocfs2_read32=_h>327>(st2468ss="lin24TIG_rcsfs2_u="ref=" href="+la="ass=123ss=>238/a>a> =ckr/a> *)   1handlea> =_gnreturnc132dree_puteeeeeeeeeeeeeeee32dre>328"#L524e9ss="lin24co11111111111111111111111111111111111111111nt_unlock" 7" id="Li23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+d=">_s="ass=123ss=>238d=">_s= hre_4e3ss="lin24class="srebh)
1320>retr>32904 12472ss="lin24"+11111111111111111111111111111111111111111lock" 7" id="Li26tttttt(unsignnnnnnnnn1111_nnnnnnnnnn *))
132=>retr>329_4 12461ss="lin24ationa>kordr1111111111111111111111111111111lock" 7" id="Liset_len_tsrnnnnnnnnnnnset_lena> =_4)
132=>retr>329_4 12472ss="lin24"+11f (329_4 12473ss="lin24umcllllllllllllllllllllllllllllllllllllllllnt_unlock" 7" id="Li23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+deal"Lrtttt(unsignnnnndeal"Lr hreeignreturnc132r href="+code=ocfs2_read32r h>32010ta2464ss="lin24porcccccccccin23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  320500132" href="+code=ocfs2_read32" h>329>(st24e5ss="lin24ref=rrrrrr1111111111lock" 7" id="Lima>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 320600132nlT> *)kordr>24ou=_committttt(unsignnnnnou=_commitlog_ignreturnc132tree_puteeeeeeeeeeeeeeee32tre>32910ta2327ss="lin230011
na>kordrees(stNULLline" nam320800132=s- class="sref">OClow_c32=s->329>(st2468ss="lin24TIG_} els=ren_ch href="fs/ocfs2/reass="comm11  320900132r>- class="sref">OClow_c32r>->329"#L524e9ss="lin24co11f (   1deletea> =ckr1ignreturnc1339500class="sref">OClow_c33950>33010ta2refref=" href="+code=9 1ss="comm11 3391001339>retr>330_4 12461ss="lin24atiof (   1handlea> =_gnreturnc1339>retr>339_4 12472ss="lin24"+11f (_acrefcounttree l_d=">_ac1111_gnreturnc1339 href="+code=ocfs2_read339 h>330_4 12473ss="lin24umcllllllllllllllllllllllllllllllllllllll1_4 =_gnreturnc1339 href="+code=ocfs2_read339 h>33010ta2464ss="lin24porccccccccccccccccccccccccccccccccccccccnt_unlock" 7" id="Linew_bittttt(unsignnnnnnew_bit hre_4nt_unlock" 7" id="Linew_len_tsrnnnnnnnnnnnnew_len hreerrefref=" href="+code=9 1ss="comm11 3395001339 href="+code=ocfs2_read339 h>330>(st24e5ss="lin24ref=========in23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  3396001339lT> *)ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 3397001339ree_puteeeeeeeeeeeeeeee339re>33910ta2327ss="lin2300>24ou=_committttt(unsignnnnnou=_commitlog_ignreturnc1339s- class="sref">OClow_c339s->339>(st2468ss="lin24TIG_________}>11
na>kordrees(stNULLline" nam3399001339>- class="sref">OClow_c339>->33010ta2>11
na>kordrees(stNULLline" nam33150013350010tatic int 33150ta246ass="lin24trucf (   1wrs="lreplace_nre_refc href="+code=9 mlog_handleou32mment">   1handlea> =_rlock" 7" id="Li23  exttttt(unsignnnnn23  extlass_gnreturnc133tree_puteeeeeeeeeeeeeeee33tre>331_4 12461ss="lin24ationa>kordr11111111111111111111111111111lock" 7" id="Li26tttttt(unsignnnnnnnnn1111_nnnnnnnnnn *)331_4 12472ss="lin24"+11f (133> href="+code=ocfs2_read33> h>331_4 12473ss="lin24umclllllllllin23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  335400133ig> *)ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 335500133t+- class="sref">OClow_c33t+->331>(st24e5ss="lin24ref=rrrrrr1111111111ass="comment24la>>24ou=_committttt(unsignnnnnou=_commitlog_ignreturnc13377- class="sref">OClow_c3377->331tree24l6ss="lin24lsfs2_unlock}>11
na>kordrees(stNULLline" nam335700133__href="+code=ocfs2_read33__h>33110ta2327ss="lin230011 =ckrOClow_c33+7->335>(st2468ss="lin24TIG_}>11
na>kordrees(stNULLline" nam335900133rFT> *)133L4href="+code=ocfs2_read33L4h>332u0ta2464ss="lin24porccommentbuffer_hla="ass=123ss=>238/a>a> =ckr/a> *)   1handlea> =_rlock" 7" id="Lirde_cIot;super L4771.ode_cI"com_4e3ss="lin24class="srebh)
1330>retr>332_4 12461ss="lin24ationa>kordr   11spode_rootnbc"com_4e3ss="lin24class="srebh)
1331>retr>332_4 12472ss="lin24"+11f ( *) =_gnreturnc133_>retr>332_4 12473ss="lin24umcllllllllllllllllllllllllllllllllllock" 7" id="Li23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+meta_acrefcounttree l_meta_aceblo_4e3ss="lin24class="srebh)
133
>retr>33210ta2464ss="lin24porcccccccccccccccccccccccccccccccccnt_unlock" 7" id="Li23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+deal"Lrtttt(unsignnnnndeal"Lr hre_n   1deletea> =errefref=" href="+code=9 1ss="comm11 33L500133_>retr>332>(st24e5ss="lin24ref=in23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  33L600133rFT> *)ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 33L700133efcouren_adjacinod *)33210ta2327ss="lin2300>24ou=_committttt(unsignnnnnou=_commitlog_ignreturnc133> href="+code=ocfs2_read33> h>332>(st2468ss="lin24TIG_}>11
na>kordrees(stNULLline" nam33L900133idT> *)133="T> *)333u0ta2464ss="lin24porccommentbuffer_h26tttttt(unsignnnnnnnnn1111c+kr/a> *) =ignreturnc133">T> *)T>333_4 12461ss="lin24ationnnnnnnnn *) *) =ignreturnc133)>T> *) *) =ignreturnc133_>T> *) *)   11spode_leafnbc"comerrefref=" href="+code=9 1ss="comm11 333400133_>retr>33310ta2464ss="lin24porc="+code=9 mlog_ere_leafnbcimment">   11spode_leafnbc"com=kr/a> *)   11spNULL1111a>11
na>kordrees(stNULLline" nam33=500133ttT> *)11
na>kordrees(stNULLline" nam33=600133t+- class="sref">OClow_c33t+->333>(st2n2450011               24500>2433=700133">retr>33310ta2327ss="l<52ss="lin24Ccommentt>/* handle any nnnt_cow action.4*/a>10  Che71 whether we neec a split hehe="33380013350010tatic int 33380ta2327ss="lin23nnnnnnnnn *)13350010tatic int 333"#L524e9ss="lin24co11commentbuffer_hla="ass=123ss=>238/a>a> =ckr/a> *)   1handlea> =_gnreturnc13350010tatic int 33404 12472ss="lin24"+1111111111111111111111111111111111/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  33420013350010tatic int 334_4 12472ss="lin24"+11f (ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 33430013350010tatic int 334_4 12473ss="lin24umcl11f (13350010tatic int 33510ta2464ss="lin24porc}>11
na>kordrees(stNULLline" nam33450013350010tatic int 334>(st24e5ss="l}>11
na>kordrees(stNULLline" nam33460013350010tatic int 334>(st2n2450011               24500>2433470013350010tatic int 33410ta2327ss="l<52ss="lin24Ccommentt>/*a>10  Che71 whether we neec a split hehe="33580013350010tatic int 335>(st2<52ss="lin24Ccommentt>010  Che71 whether we neec a split hehe="33590013350010tatic int 335"#L52<52ss="lin24Ccommentt>0>2.a>10  Che71 whether we neec a split hehe="33550013350010tatic int 335>0ta2<52ss="lin24Ccommentt>010  Che71 whether we neec a split hehe="33510013350010tatic int 33510ta2327ss="lin23nnnnnnnnn   1get_nre_refc hre == /a> *)   1wrs="ldi_get_nre_refc hreeren_ch href="fs/ocfs2/reass="comm11  33520013350010tatic int 335_4 12472ss="lin24"+11238/a>a> =ckr/a> *)">11spanacheeocow_sync_writebarb href="+code=9 mlog_sbimment">   11sp77"super L4771."610_413350010tatic int 335_4 12473ss="lin24umcllllllllllllllllllllllllllllllll/a> *) =errefref=" href="+code=9 1ss="comm11 33540013350010tatic int 33510ta2464ss="lin24porcin23nnnnnnnnnocfsreadere_rmlog_eaaaagofo>kordrees(stLufs2/refco33550013350010tatic int 335>(st24e5ss="lin24ref=rrrrrr11lock" 7" id="Lima>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 33560013350010tatic int 33564 12473ss="l}>11
na>kordrees(stNULLline" nam335700133tree_puteeeeeeeeeeeeeeee33tre>33574 12>11
na>kordrees(stNULLline" nam3358001332>retr>335>(st2comment24la>>24ou=_committttt(unsignnnnnou=_commitlog_:>11
na>kordrees(stNULLline" nam33590013350010tatic int 335"#L524e9ss="l/a> *)   1wrs="lcommit_tranc href="+code=9 mlog_osbimment">   11spo77   1handlea> =errefref=" href="+code=9 1ss="comm11 336500133_u010tatic int 33610ta2refref=" href="+code=9 1ss="comm11 336100133)_href="+code=ocfs2_read33)_h>3361#L52comment24la>>24ou=tttt(unsignnnnnou=log_:>11
na>kordrees(stNULLline" nam336200133+7- class="sref">OClow_c33+7->336_4 12472ss="lin23nnnnnnnnn_ac1111eren_ch href="fs/ocfs2/reass="comm11  3363001330336_4 12473ss="lin24umcl/a> *)_acrefcounttree l_d=">_ac1111errefref=" href="+code=9 1ss="comm11 33640013350010tatic int 33610ta2464ss="lin24porc="+code=9 mlog_23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+d=">_acrefcounttree l_d=">_ac1111=kr/a> *)   11spNULL1111a>11
na>kordrees(stNULLline" nam336500133t+- class="sref">OClow_c33t+->336>(st24e5ss="l}>11
na>kordrees(stNULLline" nam336600133_)- class="sref">OClow_c33_)->336tree24l6ss="lin23nnnnnnnnn133+7- class="sref">OClow_c33+7->33610ta2327ss="lin2300 *)133se- class="sref">OClow_c33se->336>(st2468ss="lin24TIG_="+code=9 mlog_23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+meta_acrefcounttree l_meta_aceblo=kr/a> *)   11spNULL1111a>11
na>kordrees(stNULLline" nam336900133+7- class="sref">OClow_c33+7->336"#L524e9ss="l}>11
na>kordrees(stNULLline" nam337500133L4href="+code=ocfs2_read33L4h>337>0ta2327ss="l   11spode_leafnbc"comerrefref=" href="+code=9 1ss="comm11 337100133x href="+code=ocfs2_read33x h>337_4 12>11
na>kordrees(stNULLline" nam337200133r href="+code=ocfs2_read33r h>337_4 12472ss="l_rmurnk238/a>a> =ignreturnc133" href="+code=ocfs2_read33" h>337_4 12}>11
na>kordrees(stNULLline" nam337400133" href="+code=ocfs2_read33" h>337mmen2434ss="lin24d="L481" class="line" n337500133nFT> *) *)kordrees(stLufs2/refco337600133nlT> *)133> href="+code=ocfs2_read33> h>337>(st2468ss="l *)"super L4771."610="="+code=9 mlog_i>"super L4771."610=kr/a> *)"super L4771."610ignreturnc133idT> *)13377- class="sref">OClow_c3377->338>0ta2327ss="lT> *) *)338_4 12461ss="lunsignedl"L*)133+7- class="sref">OClow_c33+7->338_4 12472ss="l *)   11spo77 *) *)"super L4771."610="ass="ref=" href="+i_sbimment">   11spi_sb"comerrefref=" href="+code=9 1ss="comm11 3383001330338_4 124e3ss="lin24class="srebh)
1331>retr>33810ta2464ss="lin23!re_refcouren_cowrs="lreebh   11spi_sb"comeerren_ch href="fs/ocfs2/reass="comm11  338500133nFT> *)   11spi_sb"com,l<52ss="lin24C"Iquot %lu waL*)to use c a spli "quot;a>10  Che71 whether we neec a split hehe="338600133<242_na>kordhref="+.610 33<24>338tree24l6ss="lin24lsfss="lin24ref=<52ss="lin24C"t he, but the feamure bit is not set in the "quot;a>10  Che71 whether we neec a split hehe="338700133">- class="sref">OCla hr33">->33810ta2327ss="lin2300"super b"Lrb."quot;a>10  C_n337>(st2468ss="lin24TIG__rmurnk-="ref=" href="+EROFS               EROFSebloignreturnc133dree_puteeeeeeeeeeeeeeee33dre>338"#L524e9ss="l}>11
na>kordrees(stNULLline" nam3395001330>retr>33910ta2refref=" href="+code=9 1ss="comm11 339100133=>retr>33910ta2327ss="lr>339>(st2422ss="lin24acino">inobh)
133r href="+code=ocfs2_read33r h>339_4 12473ss="lwhile23nnnnnnnnn133r href="+code=ocfs2_read33r h>33010ta2464ss="lin24porc238/a>a> =ckr/a> *)   1get_nre_refc href="+code=9 mlog_23  exttttt(unsignnnnn23  extlass_4339>(st24e5ss="lin24ref=rrrrrr1111111111111111111111nt_unlock" 7" id="Linum_nre_refctttt(unsignnnnnnum_nre_refclog__4nt_unlock" 7" id="Liext_flagttttt(unsignnnnnext_flagtebloeignreturnc133nlT> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  330700133tree_puteeeeeeeeeeeeeeee33tre>33910ta2327ss="lin2300240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 330800133=s- class="sref">OClow_c33=s->339>(st2468ss="lin24TIG_________breakrrefref=" href="+code=9 1ss="comm11 330900133r>- class="sref">OClow_c33r>->339"#L524e9ss="lin24co11}>11
na>kordrees(stNULLline" nam3495001349500class="sref">OClow_c34950>34010ta2refref=" href="+code=9 1ss="comm11 3491001349>retr>340_4 12461ss="lin24atio="+code=9 mlog_BUG_ONtttt(unsignnnnnBUG_ON href!f="+code=9 mlog_ext_flagttttt(unsignnnnnext_flagteblo nt_unr/a> *) *)r>340>(st2422ss="lin24acino">inobh)
1349 href="+code=ocfs2_read349 h>340_4 12473ss="lin24umclin23nnnnnnnnn *)inobh)
1349 href="+code=ocfs2_read349 h>34010ta2464ss="lin24porccccccccc/a> *) *)1349 href="+code=ocfs2_read349 h>340>(st2gnreturnc1349lT> *)   1wrs="lmake_nre_refc_writable="fs/ocfs2/rele16="ai>"super L4771."610="ass="ref=" href="+i_sbimment">   11spi_sb"com,l<"+code=9 mlog_23  exttttt(unsignnnnn23  extlass_gnreturnc1349ree_puteeeeeeeeeeeeeeee349re>34910ta2327ss="lin2300 *) *))
1349s- class="sref">OClow_c349s->349>(st2468ss="lin24TIG_________////////="lin24porccccccccc/a> *)1349>- class="sref">OClow_c349>->340"#L524e9ss="lin24co11in23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  34150013450010tatic int 34150ta246ass="lin24trucf (240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 341100134tree_puteeeeeeeeeeeeeeee34tre>341_4 12461ss="lin24ationa>kordrbreakrrefref=" href="+code=9 1ss="comm11 3412001340_href="+code=ocfs2_read340_h>341_4 12472ss="lin24"+11}>11
na>kordrees(stNULLline" nam345300134> href="+code=ocfs2_read34> h>341_4 124e3ss="lin24class="srebh)
134ig> *) *)134t+- class="sref">OClow_c34t+->341>(st24e5ss="lin24ref= *)13477- class="sref">OClow_c3477->34164 12473ss="l}>11
na>kordrees(stNULLline" nam345700134__href="+code=ocfs2_read34__h>34174 12>11
na>kordrees(stNULLline" nam345800134+7- class="sref">OClow_c34+7->34180ta2327ss="lin23nnnnnnnnn *)134rFT> *)   11spwrs="lschedule_trunrate_acomfre_c href="+code=9 mlog_osbimment">   11spo77134L4href="+code=ocfs2_read34L4h>342u0ta2464ss="lin24porccommentbuffer_hwrs="lrunldeal"Lrcou32mment">   1wrs="lrunldeal"Lrc href="+code=9 mlog_osbimment">   11spo77r>3421#L524e9ss="l}>11
na>kordrees(stNULLline" nam34L2001341>retr>342>(st2422ss="lin24acino">inobh)
134_>retr>342_4 12473ss="l_rmurnk238/a>a> =ignreturnc134
>retr>34210ta2}>11
na>kordrees(stNULLline" nam34L500134_>retr>342>(st2gnreturnc134rFT> *)"super L4771."610_4e3ss="lin24class="srebh)
134efcouren_adjacinod *)34210ta2327ss="lin2300 *)   1file;610="="+code=9 mlog_fileou32mment">   1file;610_4e3ss="lin24class="srebh)
134> href="+code=ocfs2_read34> h>342>(st2468ss="lin24TIG_____________________T> *)T> *))
134idT> *) *)343u0ta2464ss="l *)   1address_space;610="="+code=9 mlog_mapping"              nappinga> =ignreturnc134">T> *)T>34310ta2327ss="l">11spanindex hreignreturnc134)>T> *) *)T>343_4 12473ss="l"L*) *) *)"super L4771."610="ass="ref=" href="+i_sbimment">   11spi_sb"come="ass="ref=" href="+s_nre_refsize_bitttttt(unsignnnnns_nre_refsize_bitt hreignreturnc134_>retr>343mmen2434ss="lin24d="L481" class="line" n34=500134ttT> *)   1file;610r4e3ss="lin24class="srebh)
134t+- class="sref">OClow_c34t+->343tree24l6ss="lin24lsfs_rmurnignreturnc134">retr>34374 12>11
na>kordrees(stNULLline" nam34380013450010tatic int 34380ta2327ss="l="+code=9 mlog_mapping"              nappinga> =ckr/a> *)   1file;610="ass="ref=" href="+f_mapping"              f_mapping hreignreturnc13450010tatic int 343"#L524e9ss="l/a> *) *) *))
13450010tatic int 344_4 12461ss="lin24atio/a> *)inobh)
13450010tatic int 344_4 12473ss="l">11spanindex hreckr33nnnnnnnnn *) *) =_4nt_unlock" 7" id="Lifileou32mment">   1file;610="ass="ref=" href="+f_ratttt(unsignnnnnf_ra;610_4   1file;610_4e3ss="lin24class="srebh)
13450010tatic int 344>(st24e5ss="lin24ref=rrrrrr111111111111">11spanindex hre_nnnnnnnnnn13450010tatic int 34474 12>11
na>kordrees(stNULLline" nam34580013450010tatic int 345>(st2<52ss="lin24Ccommentt>/*a>10  Che71 whether we neec a split hehe="34590013450010tatic int 345"#L52<52ss="lin24Ccommentt>0* Starting at nnnn, try)to CoW write_len nre_refc.  Don't CoWa>10  Che71 whether we neec a split hehe="34550013450010tatic int 345>0ta2<52ss="lin24Ccommentt>0* past max_nnnn.  This willl10  Che71 whether we neec a split hehe="34510013450010tatic int 345_4 12<52ss="lin24Ccommentt>0*lunc a spliedlextent.a>10  Che71 whether we neec a split hehe="34520013450010tatic int 345_4 12<52ss="lin24Ccommentt>0*/a>10  Che71 whether we neec a split hehe="34530013450010tatic int 345_4 12mmetic "L*)">11spanacheeoreebh *)"super L4771."610="="+code=9 mlog_i>"super L4771."610_4e3ss="lin24class="srebh)
13450010tatic int 34510ta2464ss="lin24porcccccccccccccccccccc *)   1file;610="="+code=9 mlog_fileou32mment">   1file;610_4e3ss="lin24class="srebh)
13450010tatic int 345>(st24e5ss="lin24ref=rrrrrr11ccccccccccc *)   11spdinbc;610_4e3ss="lin24class="srebh)
13450010tatic int 345tree24l6ss="lin24lsfsssssssssssssssss111T> *)T> *) *)T> *))
134tree_puteeeeeeeeeeeeeeee34tre>34574 12en_ch href="fs/ocfs2/reass="comm11  3458001342>retr>34580ta2327ss="liL*)238/a>a> =ignreturnc13450010tatic int 345"#L524e9ss="l/a> *)T> *)134_u010tatic int 346u0ta2464ss="l *) *) *)"super L4771."610rignreturnc134)_href="+code=ocfs2_read34)_h>34610ta2464ss="l *)   11spo77 *) *)"super L4771."610="ass="ref=" href="+i_sbimment">   11spi_sb"comerrefref=" href="+code=9 1ss="comm11d34)200134+7- class="sref">OClow_c34+7->346_4 12472ss="l *)"super L4771.wrs="ldi>&qu;610="="+code=9 mlog_diimment">   11spdi hreckr3 *)"super L4771.wrs="ldi>&qu;610=")commentbuffer_hdinbcimment">   11spdinbc;610="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc1340346_4 12473ss="l *)   11spode_rootnbc"com=kr/a> *)   11spNULL1111a>11
na>kordrees(stNULLline" nam34640013450010tatic int 34610ta2464ss="l *)11
na>kordrees(stNULLline" nam346500134t+- class="sref">OClow_c34t+->346>(st24e5ss="l *) *)   11spNULL1111a>11
na>kordrees(stNULLline" nam346600134_)- class="sref">OClow_c34_)->346>(st2n2450011               24500>24346700134+7- class="sref">OClow_c34+7->34610ta2327ss="l/a> *) *)   11spa hrefHAS_REFCOUNT_FL"comeerrefref=" href="+code=9 1ss="comm11d34)800134se- class="sref">OClow_c34se->346>(st2refref=" href="+code=9 1ss="comm11d34)900134+7- class="sref">OClow_c34+7->346"#L524e9ss="l/a> *)238/a>a> =ckr/a> *)   1wrs="lreebh   11spdi hre="ass="ref=" href="+id>T> *) hre.="ref=" href="+i_lis="ass=123ss=>238i_lis=;610_4e3ss="lin24class="srebh)
134L4href="+code=ocfs2_read34L4h>34704 12472ss="lin24"+11111111111111111111111111111111 *))
134x href="+code=ocfs2_read34x h>347_4 12461ss="lin24ationa>kordr134r href="+code=ocfs2_read34r h>347_4 12472ss="lin23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  347300134" href="+code=ocfs2_read34" h>347_4 12473ss="lin24umcl/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 347400134" href="+code=ocfs2_read34" h>34710ta2464ss="lin24porcass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc134nFT> *)11
na>kordrees(stNULLline" nam347600134nlT> *) *)">11spantrace_wrs="lreebh h>347>(st2468ss="lin24TIG_________////////="lin2 *))
134idT> *)OClow_c3477->34810ta2refref=" href="+code=9 1ss="comm11 348100134__href="+code=ocfs2_read34__h>34810ta2327ss="lOClow_c34+7->348>(st2422ss="lin24acino">inobh)
1340348_4 12473ss="l   1file;610_21341>retr>348mmen2434ss="lin24d="L481" class="line" n348500134nFT> *) *)134<242_na>kordhref="+.610 34<24>348tree24l6ss="lin23!re_refcouren_co23  exttttt(unsignnnnn23  extlasseren_ch href="fs/ocfs2/reass="comm11  348700134">- class="sref">OCla hr34">->34810ta2327ss="lin2300 *)238/a>a> =ckr-="ref=" href="+ENOMEM"ass=123ss=>238ENOMEMa> =ignreturnc134=_href="+code=ocfs2_read34=_h>347>(st2468ss="lin24TIG_/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 348900134dree_puteeeeeeeeeeeeeeee34dre>348"#L524e9ss="lin24co11ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc1340>retr>34904 12472ss="l}>11
na>kordrees(stNULLline" nam349100134=>retr>349_4 12>11
na>kordrees(stNULLline" nam349200134=>retr>3492(st24e5ss="l="+code=9 mlog_la="ass=123ss=>238/a>a> =ckr/a> *)   11spo77   11sple64_to_nnu href="+code=9 mlog_diimment">   11spdi hre="ass="ref=" href="+ilreebh11
na>kordrees(stNULLline" nam349300134r href="+code=ocfs2_read34r h>349_4 12473ss="lin24umcllllllllllllllllllllllll1_4nt_unlock" 7" id="Lirde_ine"ot;super L4771.rde_ine"1111_4nt_unlock" 7" id="Lirde_rootnbcimment">   11spode_rootnbc"comerrefref=" href="+code=9 1ss="comm11 340400134r href="+code=ocfs2_read34r h>34010ta2464ss="lin23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  340500134" href="+code=ocfs2_read34" h>349>(st24e5ss="lin24ref=/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 349600134nlT> *)   1wu>a> =ignreturnc134tree_puteeeeeeeeeeeeeeee34tre>34910ta2327ss="l}>11
na>kordrees(stNULLline" nam349800134=s- class="sref">OClow_c34=s->349>(st2refref=" href="+code=9 1ss="comm11d340900134r>- class="sref">OClow_c34r>->349"#L524e9ss="l/a> *)"super L4771."610ckr/a> *)"super L4771."610ignreturnc1359500class="sref">OClow_c35950>350>0ta2327ss="l *)1359>retr>35010ta2327ss="l *)1359>retr>3502(st24e5ss="l="+code=9 mlog_23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+rde_ine"ot;super L4771.rde_ine"1111ckr/a> *)350_4 12473ss="l   11spode_rootnbc"com=kr/a> *)   11spode_rootnbc"comignreturnc1359 href="+code=ocfs2_read359 h>35010ta2464ss="l   14ow_duplirate_2re_refca> =ckr/a> *)350>(st24e5ss="l="+code=9 mlog_23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+get_nre_refcou32mment">   1get_nre_refc hre =)   1wrs="ldi_get_nre_refc hreignreturnc1359lT> *)   1file;610=kr/a> *)   1file;610ignreturnc1359ree_puteeeeeeeeeeeeeeee359re>35074 12>11
na>kordrees(stNULLline" nam3598001359s- class="sref">OClow_c359s->35080ta2327ss="l="+code=9 mlog_wrs="linit_dinheelextent_ine"ot;super L4771.wrs="linit_dinheelextent_ine" hrefnt_unlock" 7" id="Li23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+d=">_rref">ocfsreadered=">_rr hre_4e3ss="lin24class="srebh)
1359>- class="sref">OClow_c359>->350"#L524e9ss="lin24co111111111111111111111111="ref=" href="+INODE_CACHEef">ocfsreadereINODE_CACHE="fs/ocfs2/rele16="ai>"super L4771."610r_4   11spdinbc;610errefref=" href="+code=9 1ss="comm11 35150013550010tatic int 35110ta2refref=" href="+code=9 1ss="comm11 351100135tree_puteeeeeeeeeeeeeeee35tre>35110ta2327ss="l238/a>a> =ckr/a> *)351_4 12472ss="lin23nnnnnnnnnocfsreadere_rmlog_erefref=" href="+code=9 1ss="comm11 351300135> href="+code=ocfs2_read35> h>351_4 12473ss="lin24umcl/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 355400135ig> *)135t+- class="sref">OClow_c35t+->351>(st24e5ss="l<52ss="lin24Ccommentt>/*a>10  Che71 whether we neec a split hehe="35560013577- class="sref">OClow_c3577->35164 12<52ss="lin24Ccommentt>000000000* trunrate the extent map here since no matref whethef we meet witha>10  Che71 whether we neec a split hehe="355700135__href="+code=ocfs2_read35__h>35174 12<52ss="lin24Ccommentt>000000000* any error duaing the action, we shouldn't trust cached extent mapa>10  Che71 whether we neec a split hehe="355800135+7- class="sref">OClow_c35+7->351>(st2<52ss="lin24Ccommentt>000000000* any more.a>10  Che71 whether we neec a split hehe="351900135rFT> *)135L4href="+code=ocfs2_read35L4h>352>0ta2327ss="lr>352_4 12>11
na>kordrees(stNULLline" nam35L2001351>retr>3522(st24e5ss="l="+code=9 mlog_wrs="lun"Lrblreebh   11spo77r>352_4 12473ss="l   11spode_rootnbc"comerrefref=" href="+code=9 1ss="comm11 35L400135
>retr>35210ta2comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam35L500135_>retr>352>(st24e5ss="l="+code=9 mlog_kfne"ot;super L4771.kfne" hrefre_refcouren_co23  exttttt(unsignnnnn23  extlasserrefref=" href="+code=9 1ss="comm11 35L600135rFT> *)135efcouren_adjacinod *)35210ta2}>11
na>kordrees(stNULLline" nam35L800135> href="+code=ocfs2_read35> h>352>(st2refref=" href="+code=9 1ss="comm11d35L900135idT> *)135="T> *)353>0ta2<52ss="lin24Ccommentt>0* CoW any and all nre_refc between npos and npos+write_len.a>10  Che71 whether we neec a split hehe="353100135">T> *)T>353_4 12<52ss="lin24Ccommentt>0*lDon't CoW past max_nnnn.  If thisl_rmurns successfully, alla>10  Che71 whether we neec a split hehe="353200135)>T> *)0* nre_refc between npos and npos+write_len are safe)to modify.a>10  Che71 whether we neec a split hehe="353300135_>T> *)0*/a>10  Che71 whether we neec a split hehe="353400135_>retr>353mmen2"L*)"super L4771."610_4e3ss="lin24class="srebh)
135ttT> *) *)   1file;610="="+code=9 mlog_fileou32mment">   1file;610_4e3ss="lin24class="srebh)
135t+- class="sref">OClow_c35t+->353tree24l6ss="lin24lsfs======= *)   11spdinbc;610_4e3ss="lin24class="srebh)
135">retr>35310ta2327ss="lin2300T> *)T> *) *)T> *))
13550010tatic int 35380ta2en_ch href="fs/ocfs2/reass="comm11  35390013550010tatic int 353"#L524e9ss="liL*)238/a>a> =ckr0ignreturnc13550010tatic int 354>0ta2327ss="lT> *) *)inobh)
13550010tatic int 354_4 12473ss="lwhile23nnnnnnnnn *)13550010tatic int 35510ta2464ss="l327ss="l238/a>a> =ckr/a> *)   1wrs="lget_nre_refc href="+code=9 mlog_i>"super L4771."610_4="+code=9 mlog_26tttttt(unsignnnnnnnnn1111_nnt_unlock" 7" id="Lip_nre_refT> *))
13550010tatic int 354>(st24e5ss="lin24ref=rrrrrr1111111111111111111nt_unlock" 7" id="Linum_nre_refctttt(unsignnnnnnum_nre_refclog__4nt_unlock" 7" id="Liext_flagttttt(unsignnnnnext_flagtebloeignreturnc13550010tatic int 354tree24l6ss="lin24lsfsin23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  35470013550010tatic int 35410ta2327ss="lin2300240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 35580013550010tatic int 354>(st2468ss="lin24TIG_________breakrrefref=" href="+code=9 1ss="comm11 35590013550010tatic int 354"#L524e9ss="lin24co11}>11
na>kordrees(stNULLline" nam35550013550010tatic int 35510ta2refref=" href="+code=9 1ss="comm11 35510013550010tatic int 355_4 12461ss="lin24atioin23nnnnnnnnn *) *)inobh)
13550010tatic int 355_4 12472ss="lin24"+11////////lock" 7" id="Linum_nre_refctttt(unsignnnnnnum_nre_refclog_ckr/a> *) *) *) *)13550010tatic int 355>(st24e5ss="lin24ref=rrrrrr11238/a>a> =ckr/a> *)">11spanacheeoreebh   1file;610_2   11spdinbc;610_4="+code=9 mlog_26tttttt(unsignnnnnnnnn1111_n_ch href="fs/ocfs2/reass="comm11  35560013550010tatic int 355tree24l6ss="lin24lsfsssssssssssssssss111="lin24"+11////////lock" 7" id="Linum_nre_refctttt(unsignnnnnnum_nre_refclog__nnnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  3558001352>retr>355>(st2468ss="lin24TIG_________////////lock" 7" id="Lima>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 35590013550010tatic int 355"#L524e9ss="lin24co111111111111111111breakrrefref=" href="+code=9 1ss="comm11 356500135_u010tatic int 35604 12472ss="lin24"+1111111111}>11
na>kordrees(stNULLline" nam356100135)_href="+code=ocfs2_read35)_h>356_4 12461ss="lin24atio}>11
na>kordrees(stNULLline" nam356200135+7- class="sref">OClow_c35+7->356>(st2422ss="lin24acino">inobh)
1350356_4 12473ss="lin24umcl/a> *) *) *)13550010tatic int 35610ta2464ss="l327ss="l *)135t+- class="sref">OClow_c35t+->356>(st24e5ss="l}>11
na>kordrees(stNULLline" nam356600135_)- class="sref">OClow_c35_)->356>(st2n2450011               24500>24356700135+7- class="sref">OClow_c35+7->35610ta2327ss="l_rmurnk238/a>a> =ignreturnc135se- class="sref">OClow_c35se->356>(st2}>11
na>kordrees(stNULLline" nam356900135+7- class="sref">OClow_c35+7->356"#L52>11
na>kordrees(stNULLline" nam357500135L4href="+code=ocfs2_read35L4h>35704 12mmetic "L*)   1wrs="lxalin_valueoget_nre_refc href *)135x href="+code=ocfs2_read35x h>357_4 12461ss="lin24ationa>kordrT> *) *)T> *)357_4 12472ss="lin24"+11////////T> *)357_4 12473ss="lin24umclllllllllllllllllllllllllllunsignedl"L*)"="+code=9 mlog_extent_flagttttt(unsignnnnnextent_flagtlog_e422ss="lin24acino">inobh)
135" href="+code=ocfs2_read35" h>35710ta2en_ch href="fs/ocfs2/reass="comm11  357500135nFT> *) *)"super L4771."610="="+code=9 mlog_i>"super L4771."610ckr/a> *)"super L4771."610ignreturnc135nlT> *) *)   1wrs="lxalin_valueoroot;610="="+code=9 mlog_xvou32mment">   1xv;610ckr/a> *)135> href="+code=ocfs2_read35> h>357>(st2468ss="l_rmurnk   1wrs="lxalin_get_nre_refc href="+code=9 mlog_i>"super L4771."610_4="+code=9 mlog_v_nre_refT> *) *))
135idT> *)   1xv;610="ass="ref=" href="+xr_lis="ass=123ss=>238xr_lis=1111_4e3ss="lin24class="srebh)
13577- class="sref">OClow_c3577->35804 12472ss="lin24"+11111111111111111111111111="+code=9 mlog_extent_flagttttt(unsignnnnnextent_flagtlog_eignreturnc135__href="+code=ocfs2_read35__h>35810ta2}>11
na>kordrees(stNULLline" nam358200135+7- class="sref">OClow_c35+7->358>(st2422ss="lin24acino">inobh)
1350358_4 12<52ss="lin24Ccommentt>/*a>10  Che71 whether we neec a split hehe="3584001351>retr>358mmen2<52ss="lin24Ccommentt>0* Given a xalin value root, calculate the most meta/credits we needlfora>10  Che71 whether we neec a split hehe="358500135nFT> *)0* c a spli t he change/in2we trunrate it)to 0.a>10  Che71 whether we neec a split hehe="358600135<242_na>kordhref="+.610 35<24>35864 12<52ss="lin24Ccommentt>0*/a>10  Che71 whether we neec a split hehe="358700135">- class="sref">OCla hr35">->35810ta2"L*)">11spanacheeoreebh *)"super L4771."610="="+code=9 mlog_i>"super L4771."610_4e3ss="lin24class="srebh)
135=_href="+code=ocfs2_read35=_h>357>(st2468ss="lin24TIG________________________ *)   11spode_ci;610_4e3ss="lin24class="srebh)
135dree_puteeeeeeeeeeeeeeee35dre>358"#L524e9ss="lin24co11_______________________ *)   11spode_rootnbc"com_4e3ss="lin24class="srebh)
1350>retr>35904 12472ss="lin24"+1111111111111111111111111 *)   1wrs="lxalin_valueoroot;610="="+code=9 mlog_xvou32mment">   1xv;610_4e3ss="lin24class="srebh)
135=>retr>359_4 12461ss="lin24ationa>kordrinobh)
135=>retr>3592(st2en_ch href="fs/ocfs2/reass="comm11  359300135r href="+code=ocfs2_read35r h>359_4 12473ss="liL*)238/a>a> =ckr0_nnnnnnnnnn">11spanindex hre_nnnnnnnnnn =ckr0ignreturnc135r href="+code=ocfs2_read35r h>35010ta2464ss="lT> *) *)359>(st24e5ss="l="+code=9 mlog_u)>T> *)   14re_refclog_ckr/a> *)   11sple32_to_nnu href="+code=9 mlog_xvou32mment">   1xv;610="ass="ref=" href="+xr_2re_refcou32mment">   1xr_2re_refclog_eignreturnc135nlT> *) *)">11spanacheeoreebh   11sprblog_ignreturnc135tree_puteeeeeeeeeeeeeeee35tre>35910ta2327ss="l *)OClow_c35=s->35980ta2327ss="l *)   11spode_leafnbclog_ckr/a> *)   11spNULL1111a>11
na>kordrees(stNULLline" nam350900135r>- class="sref">OClow_c35r>->359"#L52>11
na>kordrees(stNULLline" nam3695001369500class="sref">OClow_c36950>360>0ta2327ss="lwhile23nnnnnnnnn *)   14re_refclog_eren_ch href="fs/ocfs2/reass="comm11  3691001369>retr>360_4 12461ss="lin24atio/a> *)238/a>a> =ckr/a> *)   1wrs="lxalin_get_nre_refc href="+code=9 mlog_i>"super L4771."610_4="+code=9 mlog_26tttttt(unsignnnnnnnnn1111_nnt_unlock" 7" id="Lip_nre_refT> *))
1369>retr>360_4 12472ss="lin24"+11////////   1xv;610="ass="ref=" href="+xr_lis="ass=123ss=>238xr_lis=1111_4e3ss="lin24class="srebh)
1369 href="+code=ocfs2_read369 h>360_4 12473ss="lin24umclllllllllllllllllllllllllll4atio/a> *)   11spNULL1111eignreturnc1369 href="+code=ocfs2_read369 h>36010ta2464ss="lin24porcin23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  3695001369 href="+code=ocfs2_read369 h>360>(st24e5ss="lin24ref=rrrrrr11240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 3696001369lT> *)   1wu>a> =ignreturnc1369ree_puteeeeeeeeeeeeeeee369re>36010ta2327ss="lin230011
na>kordrees(stNULLline" nam3698001369s- class="sref">OClow_c369s->360>(st2refref=" href="+code=9 1ss="comm11d3699001369>- class="sref">OClow_c369>->360"#L524e9ss="lin24co11 *)13650010tatic int 36110ta2refref=" href="+code=9 1ss="comm11 361100136tree_puteeeeeeeeeeeeeeee36tre>361_4 12461ss="lin24atiowhile23nnnnnnnnn1360_href="+code=ocfs2_read360_h>361_4 12472ss="lin24"+11////////lock" 7" id="Lila="ass=123ss=>238/a>a> =ckr/a> *)   11spode_ci;610_r/a> *)   11spode_rootnbc"com_4e3ss="lin24class="srebh)
136> href="+code=ocfs2_read36> h>361_4 12473ss="lin24umcllllllllllllllllllllllllllllllllllllll *))
136ig> *)11spanindex hre_4e3ss="lin24class="srebh)
136t+- class="sref">OClow_c36t+->361>(st24e5ss="lin24ref=rrrrrr1111111111111111111ccccccccccccnt_unlock" 7" id="Lirde_leafnbcimment">   11spode_leafnbclog_errefref=" href="+code=9 1ss="comm11 36560013677- class="sref">OClow_c3677->361tree24l6ss="lin24lsfsssssssssin23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  365700136__href="+code=ocfs2_read36__h>36110ta2327ss="lin2300240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 365800136+7- class="sref">OClow_c36+7->361>(st2468ss="lin24TIG_________________ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc136rFT> *)136L4href="+code=ocfs2_read36L4h>36210ta2refref=" href="+code=9 1ss="comm11 36L1001360>retr>362_4 12461ss="lin24ationa>kordrcomment24la>>24BUG_ONtttt(unsignnnnnBUG_ON href!lock" 7" id="Lirdrtttt(unsignnnnnrer4 12.="ref=" href="+r_refcoasstttt(unsignnnnnr_refcoasslog_errefref=" href="+code=9 1ss="comm11 36L2001361>retr>362>(st2422ss="lin24acino">inobh)
136_>retr>362_4 12473ss="lin24umclllllllll="+code=9 mlog_rbimment">   11sprblog_ckr3 *)">11spanacheeoreebh   11spode_leafnbclog_="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc136
>retr>362mmen2434ss="lin24d="L481" class="line" n36L500136_>retr>362>(st24e5ss="lin24ref=rrrrrr11<52ss="lin24Ccommentt>/*a>10  Che71 whether we neec a split hehe="36L600136rFT> *)0000000000000000000000000* We really don't know whethef the othef nre_refc ic ina>10  Che71 whether we neec a split hehe="36L700136efcouren_adjacinod *)36274 12<52ss="lin24Ccommentt>0000000000000000000000000* thisl_ra spli b"Lrb or not, so just take the wors=1110  Che71 whether we neec a split hehe="36L800136> href="+code=ocfs2_read36> h>362>(st2<52ss="lin24Ccommentt>0000000000000000000000000* case that all the nre_refc are in thislb"Lrb and eacha>10  Che71 whether we neec a split hehe="36L900136idT> *)136="T> *)363>0ta2<52ss="lin24Ccommentt>0000000000000000000000000* cre_refc * 2 newl_ra spli rer.a>10  Che71 whether we neec a split hehe="363100136">T> *)T>363_4 12<52ss="lin24Ccommentt>0000000000000000000000000*/a>10  Che71 whether we neec a split hehe="363200136)>T> *)   11sple16_to_nnu href="+code=9 mlog_ebimment">   11sprblog_="ass="ref=" href="+rf_rerordstttt(unsignnnnnof_rerords4 12.="ref=" href="+rl_usedref=na>">11spanrl_usedlog_er+4   14re_refclog_c* 2 "asshe71 whether we neec a split hehe="363300136_>T> *)   11sple16_to_nnu href="+code=9 mlog_ebimment">   11sprblog_="ass="ref=" href="+rf_rerordstttt(unsignnnnnof_rerords4 12.="ref=" href="+rl_coasstttt(unsignnnnnrl_coasslog_ee422ss="lin24acino">inobh)
136_>retr>36310ta2464ss="lin24porcccccccccccccccccnnnnnnnnn =++she71 whether we neec a split hehe="363500136ttT> *)136t+- class="sref">OClow_c36t+->363tree24l6ss="lin24lsfs=======)"="+code=9 mlog_creditstttt(unsignnnnn2reditslog_=+kr1she71 whether we neec a split hehe="363700136">retr>36310ta2327ss="lin2300   11spode_leafnbclog_errefref=" href="+code=9 1ss="comm11 36380013650010tatic int 363>(st2468ss="lin24TIG_________="+code=9 mlog_rde_leafnbcimment">   11spode_leafnbclog_ckr/a> *)   11spNULL1111a>11
na>kordrees(stNULLline" nam36390013650010tatic int 363"#L52>11
na>kordrees(stNULLline" nam36450013650010tatic int 36404 12472ss="lin24"+1111111111in23nnnnnnnnn *)   11sple32_to_nnu href="+code=9 mlog_rdrtttt(unsignnnnnrer4 12.="ref=" href="+r_nre_refctttt(unsignnnnnr_2re_refclog_ee422ss="lin24acino">inobh)
13650010tatic int 364_4 12461ss="lin24ationa>kordr13650010tatic int 364_4 12472ss="lin24"+11////////els=refref=" href="+code=9 1ss="comm11 36430013650010tatic int 364_4 12473ss="lin24umclllllllllllllllllnnnnnnnnn *)   11sple32_to_nnu href="+code=9 mlog_rdrtttt(unsignnnnnrer4 12.="ref=" href="+r_nre_refctttt(unsignnnnnr_2re_refclog_errefref=" href="+code=9 1ss="comm11 36440013650010tatic int 36510ta2464ss="l327ss="lllllllllnnnnnnnnn *) *)13650010tatic int 364>(st24e5ss="lin24ref=}>11
na>kordrees(stNULLline" nam36460013650010tatic int 364tree24l6ss="l}>11
na>kordrees(stNULLline" nam36470013650010tatic int 36474 12>11
na>kordrees(stNULLline" nam36580013650010tatic int 364>(st2468ss="l"="+code=9 mlog_meta_addtttt(unsignnnnnmeta_addlog_=+kr/a> *) =ignreturnc13650010tatic int 364"#L524e9ss="lin23!re_refcouren_coode_b"Lrbstttt(unsignnnnnode_b"Lrbsa> =e422ss="lin24acino">inobh)
13650010tatic int 36504 12472ss="lin24"+11ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc13650010tatic int 365_4 12>11
na>kordrees(stNULLline" nam36520013650010tatic int 365_4 12472ss="l="+code=9 mlog_rbimment">   11sprblog_ckr3 *)">11spanacheeoreebh   11spode_rootnbc"com="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc13650010tatic int 3653#L524e9ss="lin23/a> *)   11sple32_to_nnu href="+code=9 mlog_rbimment">   11sprblog_="ass="ref=" href="+rf_flagttttt(unsignnnnnrf_flagtlog_ernt_unr/a> *)   11spa hrefREFCOUNT_TREE_FLa> =e422ss="lin24acino">inobh)
13650010tatic int 36510ta2464ss="lin24porc"="+code=9 mlog_creditstttt(unsignnnnn2reditslog_=+kr/a> *) =ignreturnc13650010tatic int 365>(st24e5ss="lels=ren_ch href="fs/ocfs2/reass="comm11  36560013650010tatic int 365tree24l6ss="lin24lsfs *)   1a>a> =ignreturnc136tree_puteeeeeeeeeeeeeeee36tre>36574 12>11
na>kordrees(stNULLline" nam3658001362>retr>365>(st2468ss="lin24TIG_   1a>a> =_r/a> *)   11spode_ci;610_r/a> *)   11spode_rootnbc"comerrefref=" href="+code=9 1ss="comm11 36590013650010tatic int 365"#L524e9ss="lin24co11"="+code=9 mlog_creditstttt(unsignnnnn2reditslog_=+kr/a> *)   11spilsb hre_4e3ss="lin24class="srebh)
136_u010tatic int 36604 12472ss="lin24"+1111111111111111111111111111111111111111lock" 7" id="Lie=ou32mment">   1a>a> =.="ref=" href="+et_rootnelou32mment">   1a>_rootnel hre_4e3ss="lin24class="srebh)
136)_href="+code=ocfs2_read36)_h>366_4 12461ss="lin24atio11111111111111111111111111111111111111lock" 7" id="Liode_b"Lrbstttt(unsignnnnnode_b"Lrbsa> =errefref=" href="+code=9 1ss="comm11 366200136+7- class="sref">OClow_c36+7->366_4 12472ss="l}>11
na>kordrees(stNULLline" nam3663001360366_4 124e3ss="lin24class="srebh)
13650010tatic int 36610ta2comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam366500136t+- class="sref">OClow_c36t+->366>(st24e5ss="l="+code=9 mlog_brels=_tsrnnnnnnnnnnnbrels= href="+code=9 mlog_ere_leafnbcimment">   11spode_leafnbclog_errefref=" href="+code=9 1ss="comm11 366600136_)- class="sref">OClow_c36_)->366tree24l6ss="l_rmurnk238/a>a> =ignreturnc136+7- class="sref">OClow_c36+7->36610ta2}>11
na>kordrees(stNULLline" nam36)800136se- class="sref">OClow_c36se->366>(st2refref=" href="+code=9 1ss="comm11d366900136+7- class="sref">OClow_c36+7->366"#L52<52ss="lin24Ccommentt>/*a>10  Che71 whether we neec a split hehe="367500136L4href="+code=ocfs2_read36L4h>367>0ta2<52ss="lin24Ccommentt>0* Do CoW for xalin.a>10  Che71 whether we neec a split hehe="367100136x href="+code=ocfs2_read36x h>367_4 12<52ss="lin24Ccommentt>0*/a>10  Che71 whether we neec a split hehe="367200136r href="+code=ocfs2_read36r h>367_4 12"L*)">11spanacheeoreebh *)"super L4771."610="="+code=9 mlog_i>"super L4771."610_4e3ss="lin24class="srebh)
136" href="+code=ocfs2_read36" h>367_4 12473ss="lin24umcllllllllllllll *)"super L4771.wrs="ldi>&qu;610="="+code=9 mlog_diimment">   11spdi;610_4e3ss="lin24class="srebh)
136" href="+code=ocfs2_read36" h>36710ta2464ss="lin24porcccccccccccccc *)   11spvb hre_4e3ss="lin24class="srebh)
136nFT> *) *))
136nlT> *) *)   11spode_rootnbc"com_4e3ss="lin24class="srebh)
136tree_puteeeeeeeeeeeeeeee36tre>36710ta2327ss="lin2300T> *)T> *) *))
136> href="+code=ocfs2_read36> h>367>(st2468ss="lin24TIG______________ *) *)367"#L52en_ch href="fs/ocfs2/reass="comm11  36850013677- class="sref">OClow_c3677->36804 12472ss="liL*)238/a>a> =ignreturnc136__href="+code=ocfs2_read36__h>368_4 12461ss="l *)   1wrs="lxalin_valueoroot;610="="+code=9 mlog_xvou32mment">   1xv;610ckr/a> *)   11spvb hre="ass="ref=" href="+vb_xvou32mment">   1vb_xva> =ignreturnc136+7- class="sref">OClow_c36+7->36824 12461ss="l *)&qulinf                wrs="li>&qulinf ;610="="+code=9 mlog_oiimment">   11spoi;610ckr/a> *)136036834 12461ss="l *) *)   11spNULL1111a>11
na>kordrees(stNULLline" nam3684001361>retr>36810ta2464ss="lT> *)136nFT> *)136<242_na>kordhref="+.610 36<24>36860ta2464ss="l   11spoi;610="ass="ref=" href="+ip_dyn_feamurettttt(unsignnnnnip_dyn_feamuretlog_c&t_unr/a> *)   11spa hrefHASfREFCOUNT_FLlog_eea>11
na>kordrees(stNULLline" nam368700136">- class="sref">OCla hr36">->36874 12>11
na>kordrees(stNULLline" nam368800136=_href="+code=ocfs2_read36=_h>367>(st2468ss="l238/a>a> =ckr/a> *)   1wrs="lreebh   1xv;610="ass="ref=" href="+xr_lis="ass=123ss=>238xr_lis=1111_4e3ss="lin24class="srebh)
136dree_puteeeeeeeeeeeeeeee36dre>368"#L524e9ss="lin24co11_______________________68ss="l *) *))
1360>retr>36904 12472ss="lin24"+11111111111111111111111111111111nt_unlock" 7" id="Li23w_starttttt(unsignnnnn23w_start;610_4nt_unlock" 7" id="Li23w_lenT> *)11
na>kordrees(stNULLline" nam369100136=>retr>369_4 12461ss="lin23nnnnnnnnnocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  369200136=>retr>369_4 12472ss="lin24"+11="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 369300136r href="+code=ocfs2_read36r h>369_4 12473ss="lin24umclass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc136r href="+code=ocfs2_read36r h>36010ta2464ss="l}>11
na>kordrees(stNULLline" nam360500136" href="+code=ocfs2_read36" h>369>(st2he71 whether we neec a split hehe="369600136nlT> *)136tree_puteeeeeeeeeeeeeeee36tre>36974 12>11
na>kordrees(stNULLline" nam360800136=s- class="sref">OClow_c36=s->369>(st2468ss="l *) *)136r>- class="sref">OClow_c36r>->369"#L524e9ss="lin23!re_refcouren_co23  exttttt(unsignnnnn23  extlasseren_ch href="fs/ocfs2/reass="comm11  3795001379500class="sref">OClow_c37950>37004 12472ss="lin24"+11238/a>a> =ckr-238ENOMEMa> =ignreturnc1379>retr>370_4 12461ss="lin24atio/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 3792001379>retr>370_4 12472ss="lin24"+11ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc1379 href="+code=ocfs2_read379 h>370_4 12473ss="l}>11
na>kordrees(stNULLline" nam3794001379 href="+code=ocfs2_read379 h>370mmen2434ss="lin24d="L481" class="line" n3795001379 href="+code=ocfs2_read379 h>370>(st24e5ss="l="+code=9 mlog_23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+i>"super L4771."610ckr/a> *)"super L4771."610ignreturnc1379lT> *) *)1379ree_puteeeeeeeeeeeeeeee379re>37010ta2327ss="l *) *)11
na>kordrees(stNULLline" nam3798001379s- class="sref">OClow_c379s->370>(st2468ss="l11
na>kordrees(stNULLline" nam3799001379>- class="sref">OClow_c379>->370"#L524e9ss="l   11spode_rootnbc"com =4="+code=9 mlog_rde_rootnbcimment">   11spode_rootnbc"coma>11
na>kordrees(stNULLline" nam37150013750010tatic int 37100ta2327ss="l   1xv;610a>11
na>kordrees(stNULLline" nam371100137tree_puteeeeeeeeeeeeeeee37tre>371_4 12>11
na>kordrees(stNULLline" nam3712001370_href="+code=ocfs2_read370_h>371_4 12472ss="l="+code=9 mlog_23  exttttt(unsignnnnn23  extlass="ass="ref=" href="+cow_duplirate_2re_refcou32mment">   1cow_duplirate_2re_refca> =ckr/a> *)">11spanacheeoduplirate_2re_refc_by_jbd;610a>11
na>kordrees(stNULLline" nam371300137> href="+code=ocfs2_read37> h>371_4 12473ss="l<52ss="lin24Ccommentt>/* We needlthe extra credits for duplirate_2re_refc by jbd.0*/a>10  Che71 whether we neec a split hehe="371400137ig> *) =ckhe71 whether we neec a split hehe="371500137t+- class="sref">OClow_c37t+->371>(st24e5ss="lin24ref=   11spilsb hre_ 1) *4="+code=9 mlog_23w_lenT> *)11
na>kordrees(stNULLline" nam37560013777- class="sref">OClow_c3777->37160ta2464ss="l   1get_nre_refc hreckr/a> *)   1wrs="lxalin_valueoget_nre_refc hrea>11
na>kordrees(stNULLline" nam375700137__href="+code=ocfs2_read37__h>37110ta2327ss="l *) *)11
na>kordrees(stNULLline" nam375800137+7- class="sref">OClow_c37+7->371>(st2refref=" href="+code=9 1ss="comm11d371900137rFT> *)_rref">ocfsreadered=">_rr1111_4e3ss="lin24class="srebh)
137L4href="+code=ocfs2_read37L4h>37204 12472ss="lin24"+11111111111111111111111111111="ref=" href="+INODE_CACHEef">ocfsreadereINODE_CACHE href="+code=9 mlog_i>"super L4771."610e_4="+code=9 mlog_vbimment">   11spvb hreerrefref=" href="+code=9 1ss="comm11 37L1001370>retr>372_4 12>11
na>kordrees(stNULLline" nam37L2001371>retr>372_4 12472ss="l="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)   1wrs="lreplacelcow hreflock" 7" id="Li23  exttttt(unsignnnnn23  extlasserrefref=" href="+code=9 1ss="comm11 37L300137_>retr>3723#L524e9ss="lin23/a> *)ocfsreadere_rmlog_erefref=" href="+code=9 1ss="comm11 37L400137
>retr>37210ta2464ss="l327ss="l240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 37L50013736_>retr>382st2he71 whether we neec a split hehe="3697L600137rFT> *)   1wu>a> =:>11
na>kordrees(stNULLline" nam37L700137efcouren_adjacinod *)37210ta2327ss="l137> href="+code=ocfs2_read37> h>372>(st2468ss="l_rmurnk238/a>a> =ignreturnc137idT> *)11
na>kordrees(stNULLline" nam373500137="T> *)37310ta2refref=" href="+code=9 1ss="comm11 373100137">T> *)T>373_4 12<52ss="lin24Ccommentt>/*a>10  Che71 whether we neec a split hehe="373200137)>T> *)0* Insert alnewlextentliL*o c a spli t he and mark alextentlrer4 10  Che71 whether we neec a split hehe="373300137_>T> *)0* asl_ra spliedl"Llthe di>&qu t he.a>10  Che71 whether we neec a split hehe="373400137_>retr>373mmen2<52ss="lin24Ccommentt>0*/a>10  Che71 whether we neec a split hehe="373500137ttT> *)   1wrs="laddlreebh *)"super L4771."610="="+code=9 mlog_i>"super L4771."610_4e3ss="lin24class="srebh)
137t+- class="sref">OClow_c37t+->373tree24l6ss="lin24lsfs=======))))) *)_rref">ocfsreadered=">_rr1111_4e3ss="lin24class="srebh)
137">retr>37310ta2327ss="lin2300 *)   11spode_ci;610_4e3ss="lin24class="srebh)
13750010tatic int 373>(st2468ss="lin24TIG_________)))) *)   11spode_rootnbc"com_4e3ss="lin24class="srebh)
13750010tatic int 373"#L524e9ss="lin24co11____________="+code=9 mlog_u)>T> *)T> *) *)T> *))
13750010tatic int 37404 12472ss="lin24"+1111111111)))) *)kordr *) *)13750010tatic int 37410ta2464ss="l238handle_=;610="="+code=9 mlog_handle"ass=123ss=>238handlea> =ignreturnc13750010tatic int 374>(st24e5ss="liL*) =ck 1_nnnnnnnnnn =ckr0ignreturnc13750010tatic int 3746(st24e5ss="l *) *)   11sposblog_ckr="+code=9 mlog_a hrefSBimment">   11spa hrefSB href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hreerrefref=" href="+code=9 1ss="comm11 37470013750010tatic int 37410ta2327ss="l *)   11spNULL1111a>11
na>kordrees(stNULLline" nam37580013750010tatic int 374>(st2refref=" href="+code=9 1ss="comm11d37490013750010tatic int 374"#L524e9ss="l238/a>a> =ckr/a> *)   11spilsb hre_refref=" href="+code=9 1ss="comm11d37550013750010tatic int 37504 12472ss="lin24"+111111111111111111111111111111111="+code=9 mlog_ode_ciimment">   11spode_ci;610_r/a> *)   11spode_rootnbc"com_4e3ss="lin24class="srebh)
13750010tatic int 375_4 12461ss="lin24atio1111111111111111111111111111111 *))
13750010tatic int 375_4 12472ss="lin24"+111111111111111111111111111111111nt_unlock" 7" id="Lirde_b"Lrbstttt(unsignnnnnode_b"Lrbsa> =_4nt_unlock" 7" id="Li2reditstttt(unsignnnnn2reditslog_ea>11
na>kordrees(stNULLline" nam37530013750010tatic int 3753#L524e9ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  37540013750010tatic int 37510ta2464ss="lin24porc240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 37550013750010tatic int 375>(st24e5ss="lin24ref=ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc13750010tatic int 375tree24l6ss="l}>11
na>kordrees(stNULLline" nam375700137tree_puteeeeeeeeeeeeeeee37tre>37574 12>11
na>kordrees(stNULLline" nam3758001372>retr>375>(st2468ss="l   1tracelwrs="laddlreebh =_4lock" 7" id="Li2reditstttt(unsignnnnn2reditslog_ea>11
na>kordrees(stNULLline" nam37590013750010tatic int 375"#L52>11
na>kordrees(stNULLline" nam376500137_u010tatic int 37604 12472ss="lin23/a> *) =eren_ch href="fs/ocfs2/reass="comm11  376100137)_href="+code=ocfs2_read37)_h>376_4 12461ss="lin24atio="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)_b"Lrbstttt(unsignnnnnwrs="lreserve_new_metad=">_b"Lrbs href="+code=9 mlog_a hrefSBimment">   11spa hrefSB href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hree_4e3ss="lin24class="srebh)
137+7- class="sref">OClow_c37+7->376_4 12472ss="lin24"+111111111111111111111111111111111lin24atio="+code=9 mlog_rse_b"Lrbstttt(unsignnnnnode_b"Lrbsa> =_4nt_unlock" 7" id="Limeta_artttt(unsignnnnnmeta_arlog_ea>11
na>kordrees(stNULLline" nam3763001370376_4 12473ss="lin24umclin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  37640013750010tatic int 37610ta2464ss="l327ss="lllllllllnnnnnnnnn240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 376500137t+- class="sref">OClow_c37t+->376>(st24e5ss="lin24ref=========ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc137_)- class="sref">OClow_c37_)->376tree24l6ss="lin24lsfs}>11
na>kordrees(stNULLline" nam376700137+7- class="sref">OClow_c37+7->3767ree24l6ss="l}>11
na>kordrees(stNULLline" nam37)800137se- class="sref">OClow_c37se->376>(st2refref=" href="+code=9 1ss="comm11d376900137+7- class="sref">OClow_c37+7->376"#L524e9ss="lin23="+code=9 mlog_nnntT> *)37704 12472ss="lin24"+11 =c+kr/a> *) *) =ignreturnc137x href="+code=ocfs2_read37x h>377_4 12>11
na>kordrees(stNULLline" nam377200137r href="+code=ocfs2_read37r h>377_4 12472ss="l="+code=9 mlog_handle"ass=123ss=>238handlea> =ckr/a> *)   11sposblog__4lock" 7" id="Li2reditstttt(unsignnnnn2reditslog_ea>11
na>kordrees(stNULLline" nam377300137" href="+code=ocfs2_read37" h>3773#L524e9ss="lin23/a> *)238handlea> =)eren_ch href="fs/ocfs2/reass="comm11  377400137" href="+code=ocfs2_read37" h>37710ta2464ss="lin24porc="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)238handlea> =)a>11
na>kordrees(stNULLline" nam377500137nFT> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 377600137nlT> *)   1wu>a> =ignreturnc137tree_puteeeeeeeeeeeeeeee37tre>3777ree24l6ss="l}>11
na>kordrees(stNULLline" nam377800137> href="+code=ocfs2_read37> h>377>(st2refref=" href="+code=9 1ss="comm11d377900137idT> *)238/a>a> =ckr/a> *)">11spanacheeomarklextent_e=9 1ss=ed href="+code=9 mlog_i>"super L4771."610_4lock" 7" id="Lid=">_rref">ocfsreadered=">_rr1111_l="+code=9 mlog_handle"ass=123ss=>238handlea> =_4e3ss="lin24class="srebh)
13777- class="sref">OClow_c3777->37804 12472ss="lin24"+11111111111111111111111111111="ref=" href="+46tttttt(unsignnnnnnnnn1111_nnnnnnnnnn *))
137__href="+code=ocfs2_read37__h>378_4 12461ss="lin24atio111111111111111111111111111lock" 7" id="Limeta_artttt(unsignnnnnmeta_arlog__4lock" 7" id="Lideallortttt(unsignnnnndeallorlog_errefref=" href="+code=9 1ss="comm11 378200137+7- class="sref">OClow_c37+7->37824 12461ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  3783001370378_4 12473ss="lin24umclnnnnnnnnn240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 3784001371>retr>37810ta2464ss="lin24porcass="comment24la>>24ou=_commi=ou32mment">   1wu>_commi=a> =ignreturnc137nFT> *)11
na>kordrees(stNULLline" nam378600137<242_na>kordhref="+.610 37<24>37860ta2>11
na>kordrees(stNULLline" nam378700137">- class="sref">OCla hr37">->37810ta2327ss="l238/a>a> =ckr/a> *)238handlea> =_r/a> *)   11spode_ci;610_r/a> *)   11spode_rootnbc"com_4e3ss="lin24class="srebh)
137=_href="+code=ocfs2_read37=_h>378>(st2468ss="lin24TIG______________="lin24umclnnnnnnnnn *))
137dree_puteeeeeeeeeeeeeeee37dre>378"#L524e9ss="lin24co11_______________________6lock" 7" id="Limeta_artttt(unsignnnnnmeta_arlog__4lock" 7" id="Lideallortttt(unsignnnnndeallorlog_errefref=" href="+code=9 1ss="comm11 3795001370>retr>37904 12472ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  379100137=>retr>379_4 12461ss="lin24atio/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 379200137=>retr>379_4 12472ss="lin24"+11ass="comment24la>>24ou=_commi=ou32mment">   1wu>_commi=a> =ignreturnc137r href="+code=ocfs2_read37r h>379_4 12473ss="l}>11
na>kordrees(stNULLline" nam370400137r href="+code=ocfs2_read37r h>379mmen2434ss="lin24d="L481" class="line" n370500137" href="+code=ocfs2_read37" h>37954 12472ss="lin23/a> *) *) *) *)137nlT> *)"super L4771."610_4lock" 7" id="Lihandle"ass=123ss=>238handlea> =_r/a> *) *)tttt(unsignnnnnpar>log_errefref=" href="+code=9 1ss="comm11 379700137tree_puteeeeeeeeeeeeeeee37tre>37910ta2327ss="lin2300 *)ocfsreadere_rmlog_erefref=" href="+code=9 1ss="comm11 370800137=s- class="sref">OClow_c37=s->379>(st2468ss="lin24TIG_________="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 379900137r>- class="sref">OClow_c37r>->379"#L524e9ss="l}>11
na>kordrees(stNULLline" nam3895001389500class="sref">OClow_c38950>38010ta2refref=" href="+code=9 1ss="comm11 3891001389>retr>380_4 12comment24la>>24ou=_commi=ou32mment">   1wu>_commi=a> =:>11
na>kordrees(stNULLline" nam3892001389>retr>380_4 12472ss="l="+code=9 mlog_acheeocommi=_transtttt(unsignnnnnwrs="lcommi=_trans href="+code=9 mlog_osbimment">   11sposblog__4lock" 7" id="Lihandle"ass=123ss=>238handlea> =)a>11
na>kordrees(stNULLline" nam3893001389 href="+code=ocfs2_read389 h>380_4 12comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam3894001389 href="+code=ocfs2_read389 h>38044 12472ss="lin23/a> *)11
na>kordrees(stNULLline" nam3895001389 href="+code=ocfs2_read389 h>380>(st24e5ss="lin24ref=nnnnnnnnn1389lT> *)1389ree_puteeeeeeeeeeeeeeee389re>38010ta2}>11
na>kordrees(stNULLline" nam3898001389s- class="sref">OClow_c389s->380>(st2refref=" href="+code=9 1ss="comm11d3899001389>- class="sref">OClow_c389>->380"#L52staticliL*) *)"super L4771."610="="+code=9 mlog_i>"super L4771."610_4e3ss="lin24class="srebh)
13850010tatic int 38104 12472ss="lin24"+1111111111111111 *)   11spdinbclog_e>11
na>kordrees(stNULLline" nam381100138tree_puteeeeeeeeeeeeeeee38tre>381_4 12en_ch href="fs/ocfs2/reass="comm11  3812001380_href="+code=ocfs2_read380_h>381_4 12472ss="liL*)238/a>a> =ignreturnc138> href="+code=ocfs2_read38> h>381_4 12473ss="l238handle_=;610="="+code=9 mlog_handle"ass=123ss=>238handlea> =ignreturnc138ig> *) *)"super L4771.wrs="ldi>&qu;610="="+code=9 mlog_diimment">   11spdi;610ckr3 *)"super L4771.wrs="ldi>&qu;610=")commentbuffer_hdinbcimment">   11spdinbclog_="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc138t+- class="sref">OClow_c38t+->381st2he71 whether we neec a split hehe="3698560013877- class="sref">OClow_c3877->38160ta2464ss="l238handlea> =ckr/a> *)   11spa hrefSB href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hree_4e3ss="lin24class="srebh)
138__href="+code=ocfs2_read38__h>38110ta2327ss="lin230011
na>kordrees(stNULLline" nam385800138+7- class="sref">OClow_c38+7->381>(st2468ss="lin23/a> *)238handlea> =)eren_ch href="fs/ocfs2/reass="comm11  381900138rFT> *)238handlea> =)a>11
na>kordrees(stNULLline" nam382500138L4href="+code=ocfs2_read38L4h>38204 12472ss="lin24"+11="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 38L1001380>retr>382_4 12461ss="lin24atioass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc1381>retr>382_4 12472ss="l}>11
na>kordrees(stNULLline" nam38L300138_>retr>382_4 124e3ss="lin24class="srebh)
138
>retr>38210ta2464ss="l238/a>a> =ckr/a> *)   11spacheeojournal_arcess_di href="+code=9 mlog_handle"ass=123ss=>238handlea> =_r/a> *)ocfsreadereINODE_CACHE href="+code=9 mlog_i>"super L4771."610e_4="+code=9 mlog_dinbcimment">   11spdinbclog__4e3ss="lin24class="srebh)
13836_>retr>382>(st24e5ss="lin24ref=rrrrrr1111111///4ss="locfsreaderea hrefJOURNAL_ACCESS_WRITElog_errefref=" href="+code=9 1ss="comm11 38L600138rFT> *) *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  38L700138efcouren_adjacinod *)38210ta2327ss="lin2300240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 38L800138> href="+code=ocfs2_read38> h>382>(st2468ss="lin24TIG_ass="comment24la>>24ou=_commi=ou32mment">   1wu>_commi=a> =ignreturnc138idT> *)138="T> *)38310ta2refref=" href="+code=9 1ss="comm11 383100138">T> *)T>38310ta2464ss="l"super L4771."610="ass="ref=" href="+ilctim"ot;super L4771.i_ctim" hreckr/a> *)ocfsreadereCURRENT_TIMEa> =ignreturnc138)>T> *)   11spdi;610="ass="ref=" href="+ilctim"ot;super L4771.i_ctim" hreckr/a> *)10tagnnnnnnnu_to_le50 href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilctim"ot;super L4771.i_ctim" hre.="ref=" href="+tv_sertttt(unsignnnnntv_serlog_errefref=" href="+code=9 1ss="comm11 383300138_>T> *)   11spdi;610="ass="ref=" href="+ilctim"_nsertttt(unsignnnnnilctim"_nser hreckr/a> *)T> *) href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilctim"ot;super L4771.i_ctim" hre.="ref=" href="+tv_nsertttt(unsignnnnntv_nserlog_errefref=" href="+code=9 1ss="comm11 383400138_>retr>383mmen2434ss="lin24d="L481" class="line" n383500138ttT> *)   11spacheeojournal_dirty href="+code=9 mlog_handle"ass=123ss=>238handlea> =_r/a> *)   11spdinbclog_errefref=" href="+code=9 1ss="comm11 383600138t+- class="sref">OClow_c38t+->38360ta2>11
na>kordrees(stNULLline" nam383700138">retr>38310ta2comment24la>>24ou=_commi=ou32mment">   1wu>_commi=a> =:>11
na>kordrees(stNULLline" nam38380013850010tatic int 383>(st2468ss="l   11spa hrefSB href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hree_4lock" 7" id="Lihandle"ass=123ss=>238handlea> =)a>11
na>kordrees(stNULLline" nam38390013850010tatic int 383"#L52comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam38450013850010tatic int 38404 12472ss="l_rmurnk238/a>a> =ignreturnc13850010tatic int 384_4 12}>11
na>kordrees(stNULLline" nam38420013850010tatic int 3842(st2>11
na>kordrees(stNULLline" nam38430013850010tatic int 384_4 12staticliL*) *)"super L4771."610="="+code=9 mlog_i>"super L4771."610_4e3ss="lin24class="srebh)
13850010tatic int 38410ta2464ss="lllllllllllllllllllllllllllllll *)   11spdinbclog_e>11
na>kordrees(stNULLline" nam38450013850010tatic int 384>(st2en_ch href="fs/ocfs2/reass="comm11  38460013850010tatic int 3846(st24e5ss="liL*)238/a>a> =_4lock" 7" id="Lid=">_changedtttt(unsignnnnnd=">_changed hreckr0ignreturnc13850010tatic int 38410ta2327ss="l *)   11spode_rootnbc"comckr="+code=9 mlog_NULLimment">   11spNULL1111a>11
na>kordrees(stNULLline" nam38580013850010tatic int 38480ta2327ss="l *)   11spoi;610ckr/a> *)13850010tatic int 384"#L524e9ss="l *)"super L4771.wrs="ldi>&qu;610="="+code=9 mlog_diimment">   11spdi;610ckr3 *)"super L4771.wrs="ldi>&qu;610=")commentbuffer_hdinbcimment">   11spdinbclog_="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc13850010tatic int 38504 12472ss="l *) *)   11sposblog_ckr="+code=9 mlog_a hrefSBimment">   11spa hrefSB href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hreerrefrefrnc13850010tatic int 385_4 12461ss="l *)11
na>kordrees(stNULLline" nam38520013850010tatic int 385_4 12472ss="lunsignedl"L*)11
na>kordrees(stNULLline" nam38530013850010tatic int 385_4 12473ss="l238loff_=4 12423811
na>kordrees(stNULLline" nam38540013850010tatic int 38510ta2464ss="lT> *)   1cre_refclog__1 *)11
na>kordrees(stNULLline" nam38550013850010tatic int 385>(st24e5ss="l *)11
na>kordrees(stNULLline" nam38560013850010tatic int 3856(st24e5ss="l *)ocfsreaderedi_a>a> =ignreturnc138tree_puteeeeeeeeeeeeeeee38tre>38574 12>11
na>kordrees(stNULLline" nam3858001382>retr>385>(st2468ss="lit_deallor_ctxttttt(unsignnnnnwrs="li>it_deallor_ctxt hrefnt_unlock" 7" id="Lideallortttt(unsignnnnndeallorlog_errefref=" href="+code=9 1ss="comm11 38590013850010tatic int 385"#L52>11
na>kordrees(stNULLline" nam386500138_u010tatic int 38604 12472ss="lin23!f="+code=9 mlog_oiimment">   11spoi;610="ass="ref=" href="+ip_dyn_featurecou32mment">   1ip_dyn_featurec4 124&t_unr/a> *)   11spa hrefHAS_REFCOUNT_FLa> =)eren_ch href="fs/ocfs2/reass="comm11  386100138)_href="+code=ocfs2_read38)_h>386_4 12461ss="lin24atio="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)   11spdinbclog_errefref=" href="+code=9 1ss="comm11 386200138+7- class="sref">OClow_c38+7->386_4 12472ss="lin24"+11in23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  3863001380386_4 12473ss="lin24umclin24atio="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 38640013850010tatic int 38610ta2464ss="l327ss="lllllllllass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc138t+- class="sref">OClow_c38t+->386>(st24e5ss="lin24ref=}>11
na>kordrees(stNULLline" nam386600138_)- class="sref">OClow_c38_)->386tree24l6ss="l}>11
na>kordrees(stNULLline" nam386700138+7- class="sref">OClow_c38+7->38674 12>11
na>kordrees(stNULLline" nam38)800138se- class="sref">OClow_c38se->386>(st2468ss="l   1BUG_ON href!   11spdi;610="ass="ref=" href="+ilreebhOClow_c38+7->386"#L524e9ss="l238/a>a> =ckr/a> *)   11sposblog__refref=" href="+code=9 1ss="comm11 387500138L4href="+code=ocfs2_read38L4h>38704 12472ss="lin24"+1173ss="lin24umclin24atio="+code=9 mlog_le50_to_cpu"ass=123ss=>238le50_to_cpu href="+code=9 mlog_diimment">   11spdi;610="ass="ref=" href="+ilreebh387_4 12461ss="lin24atio11111111111111111111111nt_unlock" 7" id="Lirde_ine"ot;super L4771.rde_ine"1111_4nt_unlock" 7" id="Lirde_rootnbcimment">   11spode_rootnbc"comerrefref=" href="+code=9 1ss="comm11 387200138r href="+code=ocfs2_read38r h>38724 12461ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  387300138" href="+code=ocfs2_read38" h>387_4 12473ss="lin24umclnnnnnnnnn240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 387400138" href="+code=ocfs2_read38" h>38710ta2464ss="lin24porcass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc138nFT> *)11
na>kordrees(stNULLline" nam387600138nlT> *)138tree_puteeeeeeeeeeeeeeee38tre>3877ree24l6ss="lin23/a> *)   11spoi;610="ass="ref=" href="+ip_dyn_featurecou32mment">   1ip_dyn_featurec4 124&t_unr/a> *)   11spa hrefINLINE_DATA_FLlog_e>11
na>kordrees(stNULLline" nam387800138> href="+code=ocfs2_read38> h>387>(st2468ss="lin24TIG_ass="comment24la>>24attachlxalinimment">   11spattachlxalina> =ignreturnc138idT> *)11
na>kordrees(stNULLline" nam38850013877- class="sref">OClow_c3877->38804 12472ss="lit_di>&qulextent_ine"ot;super L4771.wrs="linit_di>&qulextent_ine" hrefnt_unlock" 7" id="Lidinrref">ocfsreaderedi_a>a> =_r/a> *)ocfsreadereINODE_CACHE href="+code=9 mlog_i>"super L4771."610e_4="+code=9 mlog_dinbcimment">   11spdinbclog_errefref=" href="+code=9 1ss="comm11 388100138__href="+code=ocfs2_read38__h>388_4 12>11
na>kordrees(stNULLline" nam388200138+7- class="sref">OClow_c38+7->388_4 12472ss="l="+code=9 mlog_238 *)1380388_4 12473ss="l   1cre_refclog_ckr/a> *)   1acheeocre_refc_for_bytec href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hre_4="+code=9 mlog_2381381>retr>388mmen2434ss="lin24d="L481" class="line" n388500138nFT> *)388tree24l6ss="lwhile23/a> *) *)   1cre_refclog_eren_ch href="fs/ocfs2/reass="comm11  388700138">- class="sref">OCla hr38">->38810ta2327ss="lin2300238/a>a> =ckr/a> *)388>(st2468ss="lin24TIG______________="lin24umclnnt_unlock" 7" id="Li1um_nre_refctttt(unsignnnnnnum_nre_refclog__1nt_unlock" 7" id="Liexa_flagstttt(unsignnnnnext_flags1111errefref=" href="+code=9 1ss="comm11 388900138dree_puteeeeeeeeeeeeeeee38dre>388"#L52>11
na>kordrees(stNULLline" nam3895001380>retr>38904 12472ss="lin24"+11in23/a> *) *)   11spa hrefEXT_REFCOUNTEDa> =)eren_ch href="fs/ocfs2/reass="comm11  389100138=>retr>389_4 12461ss="lin24atioin2300238/a>a> =ckr/a> *)   1wrs="laddlreebhocfsreaderedi_a>a> =_n_ch href="fs/ocfs2/reass="comm11  389200138=>retr>389_4 12472ss="lin24"+11ss="lin24TIG______________="lin24umclnnt_unlock" 7" id="Lirde_ine"ot;super L4771.rde_ine"1111="ass="ref=" href="+re_ciimment">   11spoe_ci;610_4e3ss="lin24class="srebh)
138r href="+code=ocfs2_read38r h>389_4 12473ss="lin24umclin24atiooooooooooooooooooooooooooooooolock" 7" id="Lirde_rootnbcimment">   11spode_rootnbc"com_r/a> *))
138r href="+code=ocfs2_read38r h>38910ta2464ss="llllllllllllllllllllllllllllllloooooooooooooooolock" 7" id="Lip_nre_refT> *))
138" href="+code=ocfs2_read38" h>389>(st24e5ss="lin24ref=======================================nt_unlock" 7" id="Lideallortttt(unsignnnnndeallorlog__nnnnnnnnnn   11spNULL1111errefref=" href="+code=9 1ss="comm11 389600138nlT> *) *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  389700138tree_puteeeeeeeeeeeeeeee38tre>38910ta2327ss="lin2300ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 380800138=s- class="sref">OClow_c38=s->389>(st2468ss="lin24TIG_________________ass="comment24la>>24un"LrbT> *) =ignreturnc138r>- class="sref">OClow_c38r>->389"#L524e9ss="lin24co11________}>11
na>kordrees(stNULLline" nam3995001399500class="sref">OClow_c39950>39010ta2refref=" href="+code=9 1ss="comm11 3991001399>retr>390_4 12461ss="lin24atioin2300_changedtttt(unsignnnnnd=">_changed hreckr1ignreturnc1399>retr>390_4 12472ss="lin24"+11}>11
na>kordrees(stNULLline" nam3993001399 href="+code=ocfs2_read399 h>390_4 12473ss="lin24umclnnnnnnnnn *)1399 href="+code=ocfs2_read399 h>39044 12472ss="l}>11
na>kordrees(stNULLline" nam3995001399 href="+code=ocfs2_read399 h>390st2he71 whether we neec a split hehe="369996001399lT> *)   11spattachlxalina> =:>11
na>kordrees(stNULLline" nam3997001399ree_puteeeeeeeeeeeeeeee399re>3907ree24l6ss="lin23/a> *)   11spoi;610="ass="ref=" href="+ip_dyn_featurecou32mment">   1ip_dyn_featurec4 124&t_unr/a> *)   11spa hrefHAS_XATTR_FLlog_eren_ch href="fs/ocfs2/reass="comm11  3998001399s- class="sref">OClow_c399s->390>(st2468ss="lin24TIG_="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)   11spdinbclog__4e3ss="lin24class="srebh)
1399>- class="sref">OClow_c399>->390"#L524e9ss="lin24co11_______________________6666666666666666nt_unlock" 7" id="Lirde_ine"ot;super L4771.rde_ine"1111="ass="ref=" href="+re_ciimment">   11spoe_ci;610_4e3ss="lin24class="srebh)
13950010tatic int 39104 12472ss="lin24"+11111111111111111111111111111111111111111lock" 7" id="Lirde_rootnbcimment">   11spode_rootnbc"com_4e3ss="lin24class="srebh)
139tree_puteeeeeeeeeeeeeeee39tre>391_4 12461ss="lin24atio111111111111111111111111111111166666666nt_unlock" 7" id="Lideallortttt(unsignnnnndeallorlog_errefref=" href="+code=9 1ss="comm11 3912001390_href="+code=ocfs2_read390_h>391_4 12472ss="lin24"+11in23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  391300139> href="+code=ocfs2_read39> h>391_4 12473ss="lin24umclin24atio="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 391400139ig> *)>24un"LrbT> *) =ignreturnc139t+- class="sref">OClow_c39t+->391>(st24e5ss="lin24ref=}>11
na>kordrees(stNULLline" nam39560013977- class="sref">OClow_c3977->391tree24l6ss="l}>11
na>kordrees(stNULLline" nam395700139__href="+code=ocfs2_read39__h>39174 12>11
na>kordrees(stNULLline" nam395800139+7- class="sref">OClow_c39+7->391>(st2468ss="lin23/a> *)_changedtttt(unsignnnnnd=">_changed hreeren_ch href="fs/ocfs2/reass="comm11  391900139rFT> *)   11spdinbclog_errefref=" href="+code=9 1ss="comm11 392500139L4href="+code=ocfs2_read39L4h>39204 12472ss="lin24"+11in23/a> *)ocfsreadere_rmlog_erefref=" href="+code=9 1ss="comm11 39L1001390>retr>392_4 12461ss="lin24atioin24atio="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 39L2001391>retr>392_4 12472ss="l}>11
na>kordrees(stNULLline" nam39L300139_>retr>392_4 124e3ss="lin24class="srebh)
139
>retr>39210ta2comment24la>>24un"LrbT> *) =:>11
na>kordrees(stNULLline" nam39L50013936_>retr>3925ree24l6ss="l   11sposblog__4lock" 7" id="Lirde_ine"ot;super L4771.rde_ine"1111, 1errefref=" href="+code=9 1ss="comm11 39L600139rFT> *)   11spode_rootnbc"comerrefref=" href="+code=9 1ss="comm11 39L700139efcouren_adjacinod *)39274 12>11
na>kordrees(stNULLline" nam39L800139> href="+code=ocfs2_read39> h>392>(st2468ss="lin23!238/a>a> =cnt_un&t_unr/a> *) *)392"#L524e9ss="lin24co11="+code=9 mlog_wrs="lschedule_=runcate_acomfre_cimment">   11spwrs="lschedule_=runcate_acomfre_c href="+code=9 mlog_osbimment">   11sposblog__41errefref=" href="+code=9 1ss="comm11 393500139="T> *)39304 12472ss="lin24"+11="+code=9 mlog_wrs="lrunldeallorstttt(unsignnnnnwrs="lrunldeallors href="+code=9 mlog_osbimment">   11sposblog__4nt_unlock" 7" id="Lideallortttt(unsignnnnndeallorlog_errefref=" href="+code=9 1ss="comm11 393100139">T> *)T>39310ta2464ss="l}>11
na>kordrees(stNULLline" nam393200139)>T> *)   1wu>a> =:>11
na>kordrees(stNULLline" nam393300139_>T> *) *)/*11
na>kordrees(stNULLline" nam393400139_>retr>393mmen2 *)lin24"+11* Empty the extent map so that we may get the right extent11
na>kordrees(stNULLline" nam393500139ttT> *)lin24"+11* record from the disk.11
na>kordrees(stNULLline" nam393600139t+- class="sref">OClow_c39t+->39360ta2 *)lin24"+11*/11
na>kordrees(stNULLline" nam393700139">retr>39310ta2327ss="l13950010tatic int 393>(st2refref=" href="+code=9 1ss="comm11d39390013950010tatic int 393"#L524e9ss="l_rmurnk238/a>a> =ignreturnc13950010tatic int 39404 12}>11
na>kordrees(stNULLline" nam39410013950010tatic int 394_4 12>11
na>kordrees(stNULLline" nam39420013950010tatic int 3942(st2staticliL*)   1wrs="laddlreebh *)"super L4771."610="="+code=9 mlog_i>"super L4771."610_4e3ss="lin24class="srebh)
13950010tatic int 394_4 12473ss="lin24umclin24atioooooooooooo *)238a>a> =_n_ch href="fs/ocfs2/reass="comm11  39440013950010tatic int 39410ta2464ss="llllllllllllllllllllllllllll *)   11spode_ci;610_n_ch href="fs/ocfs2/reass="comm11  39450013950010tatic int 394>(st24e5ss="lin24ref==================== *)   11spode_rootnbc"com_n_ch href="fs/ocfs2/reass="comm11  39460013950010tatic int 394tree24l6ss="lin24lsfsssssssssssssssssssscomment24la>>24u)>T> *)T> *) *)T> *))
13950010tatic int 39410ta2327ss="lin2300)
13950010tatic int 394>(st2468ss="lin24TIG______________="lin2 *)13950010tatic int 39504 12472ss="liL*)238/a>a> =ignreturnc13950010tatic int 39510ta2464ss="l238handle_=;610="="+code=9 mlog_handle"ass=123ss=>238handlea> =ignreturnc13950010tatic int 395_4 12472ss="liL*) =ckr0ignreturnc13950010tatic int 395_4 12473ss="l *) *)   11sposblog_ckr="+code=9 mlog_a hrefSBimment">   11spa hrefSB href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hreerrefrefrnc13950010tatic int 39510ta2464ss="l *)   11spNULL1111a>11
na>kordrees(stNULLline" nam39550013950010tatic int 395st2he71 whether we neec a split hehe="3699560013950010tatic int 39560ta2464ss="l238/a>a> =ckr/a> *)   11spilsb hre_4e3ss="lin24class="srebh)
139tree_puteeeeeeeeeeeeeeee39tre>39510ta2327ss="lin2300 *))
1392>retr>395>(st2468ss="lin24TIG______________="lin24umclnllll238a>a> =_4lock" 7" id="Lirde_ciimment">   11spode_ci;610_n_ch href="fs/ocfs2/reass="comm11  39590013950010tatic int 395"#L524e9ss="lin24co11_______________________666666="+code=9 mlog_rde_rootnbcimment">   11spode_rootnbc"com_4nt_unlock" 7" id="Limeta_artttt(unsignnnnnmeta_arlog__n_ch href="fs/ocfs2/reass="comm11  396500139_u010tatic int 39604 12472ss="lin24"+1111111111111111111111111111111="+code=9 mlog_NULLimment">   11spNULL1111_4nt_unlock" 7" id="Licreditttttt(unsignnnnnnreditta> =errefrefrnc139)_href="+code=ocfs2_read39)_h>396_4 12461ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  396200139+7- class="sref">OClow_c39+7->396_4 12472ss="lin24"+11="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 3963001390396_4 12473ss="lin24umclass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc13950010tatic int 39644 12472ss="l}>11
na>kordrees(stNULLline" nam396500139t+- class="sref">OClow_c39t+->396st2he71 whether we neec a split hehe="36996600139_)- class="sref">OClow_c39_)->39660ta2464ss="l238handlea> =ckr/a> *)   11sposblog__4lock" 7" id="Licreditttttt(unsignnnnnnreditta> =errefrefrnc139+7- class="sref">OClow_c39+7->3967ree24l6ss="lin23/a> *)238handlea> =)eren_ch href="fs/ocfs2/reass="comm11  39)800139se- class="sref">OClow_c39se->396>(st2468ss="lin24TIG_="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)238handlea> =)a>11
na>kordrees(stNULLline" nam396900139+7- class="sref">OClow_c39+7->396"#L524e9ss="lin24co11="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 397500139L4href="+code=ocfs2_read39L4h>39704 12472ss="lin24"+11ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc139x href="+code=ocfs2_read39x h>39710ta2464ss="l}>11
na>kordrees(stNULLline" nam397200139r href="+code=ocfs2_read39r h>3972(st2>11
na>kordrees(stNULLline" nam397300139" href="+code=ocfs2_read39" h>397_4 12473ss="l238/a>a> =ckr/a> *)   1wrs="linsert_extent href="+code=9 mlog_handle"ass=123ss=>238handlea> =_4lock" 7" id="Lis="ass=123ss=>238a>a> =_4lock" 7" id="Li46tttttt(unsignnnnnnnnn1111_4e3ss="lin24class="srebh)
139" href="+code=ocfs2_read39" h>39710ta2464ss="lin24porc473ss="l   1acheeocre_refc_to_b"Lrbc href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hre_l *))
139nFT> *)3976(st2468ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  397700139tree_puteeeeeeeeeeeeeeee39tre>39710ta2327ss="lin2300240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 397800139> href="+code=ocfs2_read39> h>397>(st2468ss="lin24TIG_ass="comment24la>>24ou=_commi=ou32mment">   1wu>_commi=a> =ignreturnc139idT> *)13977- class="sref">OClow_c3977->39810ta2refref=" href="+code=9 1ss="comm11 398100139__href="+code=ocfs2_read39__h>39810ta2464ss="l238/a>a> =ckr/a> *)   1wrs="linnrease_reebh238handlea> =_4lock" 7" id="Lirde_ciimment">   11spode_ci;610_1lock" 7" id="Lirde_rootnbcimment">   11spode_rootnbc"com_4e3ss="lin24class="srebh)
139+7- class="sref">OClow_c39+7->398_4 12472ss="lin24"+11ss="lin24TIG__________ *))
1390398_4 12473ss="lin24umclin24atioooooooooooo01391>retr>3984(st2468ss="lin23/a> *)ocfsreadere_rmlog_erefref=" href="+code=9 1ss="comm11 398500139nFT> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 398600139<242_na>kordhref="+.610 39<24>39860ta2>11
na>kordrees(stNULLline" nam398700139">- class="sref">OCla hr39">->39810ta2comment24la>>24ou=_commi=ou32mment">   1wu>_commi=a> =:>11
na>kordrees(stNULLline" nam398800139=_href="+code=ocfs2_read39=_h>398>(st2468ss="l   11sposblog__4lock" 7" id="Lihandle"ass=123ss=>238handlea> =)a>11
na>kordrees(stNULLline" nam398900139dree_puteeeeeeeeeeeeeeee39dre>398"#L52comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam3995001390>retr>39904 12472ss="lin23="+code=9 mlog_meta_artttt(unsignnnnnmeta_arlog_e>11
na>kordrees(stNULLline" nam399100139=>retr>399_4 12461ss="lin24atio139=>retr>399_4 12472ss="l_rmurnk238/a>a> =ignreturnc139r href="+code=ocfs2_read39r h>399_4 12}>11
na>kordrees(stNULLline" nam399400139r href="+code=ocfs2_read39r h>399mmen2434ss="lin24d="L481" class="line" n390500139" href="+code=ocfs2_read39" h>399>(st2staticliL*)tttt(unsignnnnnwrs="lduplicate_inde=o_d="> href *)"super L4771."610="="+code=9 mlog_s_i>"super L4771.s_i>&qulog__4e3ss="lin24class="srebh)
139nlT> *) *)   11spsnbc"com_4e3ss="lin24class="srebh)
139tree_puteeeeeeeeeeeeeeee39tre>39910ta2327ss="lin2300 *)"super L4771."610="="+code=9 mlog_t_i>"super L4771.t_i>&qulog__4e3ss="lin24class="srebh)
139=s- class="sref">OClow_c39=s->399>(st2468ss="lin24TIG_________________sssssss *)   11sptnbclog_e>11
na>kordrees(stNULLline" nam399900139r>- class="sref">OClow_c39r>->399"#L52en_ch href="fs/ocfs2/reass="comm11  4095001409500class="sref">OClow_c40950>40954 12472ss="liL*)238/a>a> =ign/pre>7a/50/64dba04d9281b0e02733d389baa82294a80b_3/40950>_ch href="fs/ocfs2/reass="comm11  4091001409>retr>40910ta2464ss="l238handle_=;610="="+code=9 mlog_handle"ass=123ss=>238handlea> =ignreturnc1409>retr>409_4 12472ss="l *) *)   11sposblog_ckr="+code=9 mlog_a hrefSBimment">   11spa hrefSB href="+code=9 mlog_s_i>"super L4771.s_i>&qulog_="ass="ref=" href="+ilsbimment">   11spilsb hreerrefrefrnc1409 href="+code=ocfs2_read409 h>409_4 12473ss="l *)"super L4771.wrs="ldi>&qu;610="="+code=9 mlog_s_diimment">   11sps_dilog_ckr3 *)"super L4771.wrs="ldi>&qu;610=")commentbuffer_hsnbcimment">   11spsnbc"com="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc1409 href="+code=ocfs2_read409 h>40910ta2464ss="l *)"super L4771.wrs="ldi>&qu;610="="+code=9 mlog_t_diimment">   11spt_dilog_ckr3 *)"super L4771.wrs="ldi>&qu;610=")commentbuffer_htnbcimment">   11sptnbclog_="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc1409 href="+code=ocfs2_read409 h>409st2he71 whether we neec a split hehe="364096001409lT> *)   1BUG_ON href!f="+code=9 mlog_a hrefI               a hrefI href="+code=9 mlog_s_i>"super L4771.s_i>&qulog_)="ass="ref=" href="+ip_dyn_featurecou32mment">   1ip_dyn_featurec4 124&t_unr/a> *)   11spa hrefINLINE_DATA_FLlog_eerrefrefrnc1409ree_puteeeeeeeeeeeeeeee409re>40974 12>11
na>kordrees(stNULLline" nam4098001409s- class="sref">OClow_c409s->409>(st2468ss="l238handlea> =ckr/a> *)   11sposblog__4lock" 7" id="Lia hrefINODE_UPDATE_CREDITSimment">   11spa hrefINODE_UPDATE_CREDITS hreerrefrefrnc1409>- class="sref">OClow_c409>->409"#L524e9ss="lin23/a> *)238handlea> =)eren_ch href="fs/ocfs2/reass="comm11  40150014050010tatic int 4050(st2468ss="lin24TIG_="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)238handlea> =)a>11
na>kordrees(stNULLline" nam405100140tree_puteeeeeeeeeeeeeeee40tre>405_4 12461ss="lin24atio240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 4052001400_href="+code=ocfs2_read400_h>405_4 12472ss="lin24"+11ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc140> href="+code=ocfs2_read40> h>405_4 12473ss="l}>11
na>kordrees(stNULLline" nam405400140ig> *)140t+- class="sref">OClow_c40t+->4055ree24l6ss="l238/a>a> =ckr/a> *)   11spacheeojournal_access_di href="+code=9 mlog_handle"ass=123ss=>238handlea> =_4lock" 7" id="LiINODE_CACHEef">ocfsreadereINODE_CACHE href="+code=9 mlog_t_i>"super L4771.t_i>&qulog_e_4="+code=9 mlog_tnbcimment">   11sptnbclog__4e3ss="lin24class="srebh)
14077- class="sref">OClow_c4077->405tree24l6ss="lin24lsfssssssssssssssssssssssslock" 7" id="Lia hrefJOURNAL_ACCESS_WRITEef">ocfsreaderea hrefJOURNAL_ACCESS_WRITElog_errefref=" href="+code=9 1ss="comm11 405700140__href="+code=ocfs2_read40__h>4057ree24l6ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  405800140+7- class="sref">OClow_c40+7->405>(st2468ss="lin24TIG_="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 405900140rFT> *)>24ou=_commi=ou32mment">   1wu>_commi=a> =ignreturnc140L4href="+code=ocfs2_read40L4h>40L44 12473ss="l}>11
na>kordrees(stNULLline" nam4021001400>retr>40L_4 12>11
na>kordrees(stNULLline" nam40L2001401>retr>40L_4 12472ss="l="+code=9 mlog_t_diimment">   11spt_dilog_="ass="ref=" href="+id>T> *)log_.="ref=" href="+ild=">tttt(unsignnnnni_d=">a> =.="ref=" href="+id_bh   1id_bh =ckr/a> *)   11sps_dilog_="ass="ref=" href="+id>T> *)log_.="ref=" href="+ild=">tttt(unsignnnnni_d=">a> =.="ref=" href="+id_bh   1id_bh =ignreturnc140_>retr>40L_4 12473ss="l   11spt_dilog_="ass="ref=" href="+id>T> *)log_.="ref=" href="+ild=">tttt(unsignnnnni_d=">a> =.="ref=" href="+id_d=">tttt(unsignnnnnid_d=">a> =_4="+code=9 mlog_<_diimment">   11sps_dilog_="ass="ref=" href="+id>T> *)log_.="ref=" href="+ild=">tttt(unsignnnnni_d=">a> =.="ref=" href="+id_d=">tttt(unsignnnnnid_d=">a> =_gnreturnc140
>retr>40L10ta2464ss="lin24por="ref=" href="+le16_to_cpu"ass=123ss=>238le16_to_cpu href="+code=9 mlog_s_diimment">   11sps_dilog_="ass="ref=" href="+id>T> *)log_.="ref=" href="+ild=">tttt(unsignnnnni_d=">a> =.="ref=" href="+id_bh   1id_bh =eerrefrefrnc14036_>ret40L5ree24l6ss="l *)"super L4771.t_i>&qulog_e="ass="ref=" href="+ip_"LrbT> *)40L60ta2464ss="l   1ip_dyn_featurec4 124|kr="+code=9 mlog_a hrefINLINE_DATA_FLimment">   11spa hrefINLINE_DATA_FLlog_rrefref=" href="+code=9 1ss="comm11 402700140efcouren_adjacinod *)40L10ta2327ss="l   11spt_dilog_="ass="ref=" href="+i_dyn_featurecou32mment">   1i_dyn_featurec4 124kr="+code=9 mlog_cpu_to_le16ou32mment">   1cpu_to_le16 href="+code=9 mlog_a hrefI               a hrefI href="+code=9 mlog_t_i>"super L4771.t_i>&qulog_e="ass="ref=" href="+ip_dyn_featurecou32mment">   1ip_dyn_featurec4 12errefref=" href="+code=9 1ss="comm11 402800140> href="+code=ocfs2_read40> h>40L>(st2468ss="l *)"super L4771.t_i>&qulog_e="ass="ref=" href="+ip_"LrbT> *)40L"#L52>11
na>kordrees(stNULLline" nam403500140="T> *)40="(st2468ss="l238handlea> =_4lock" 7" id="Litnbcimment">   11sptnbclog_errefref=" href="+code=9 1ss="comm11 403100140">T> *)T>40=_4 12>11
na>kordrees(stNULLline" nam403200140)>T> *)   1wu>_commi=a> =:>11
na>kordrees(stNULLline" nam40=300140_>T> *)   11sposblog__4lock" 7" id="Lihandle"ass=123ss=>238handlea> =)a>11
na>kordrees(stNULLline" nam40=400140_>retr>40=10ta2comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam40=500140ttT> *)140t+- class="sref">OClow_c40t+->40=6 hre}>11
na>kordrees(stNULLline" nam403700140">retr>40=74 12>11
na>kordrees(stNULLline" nam40380014050010tatic int 40=>(st2staticliL*) *)"super L4771."610="="+code=9 mlog_s_i>"super L4771.s_i>&qulog__4e3ss="lin24class="srebh)
14050010tatic int 40="#L524e9ss="lin24co11________________ *)"super L4771."610="="+code=9 mlog_t_i>"super L4771.t_i>&qulog__4e3ss="lin24class="srebh)
14050010tatic int 4050#L524e9ss="lin24co11________________ *)   11sptnbclog__4e3ss="lin24class="srebh)
14050010tatic int 405_4 12461ss="lin24atio1111111111111111 *)   11spode_ci;610_n_ch href="fs/ocfs2/reass="comm11  40520014050010tatic int 405_4 12472ss="lin24"+11ss="lin24TIG____ *)   11spode_rootnbc"com_n_ch href="fs/ocfs2/reass="comm11  40530014050010tatic int 405_4 12473ss="lin24umclin24atiooooooooo *)14050010tatic int 40560ta2464ss="lT> *) *)   1cre_refclog__4lock" 7" id="Li46tttttt(unsignnnnnnnnn1111ignreturnc14050010tatic int 40510ta2327ss="l238loff_=4 12414050010tatic int 40504 12>11
na>kordrees(stNULLline" nam40510014050010tatic int 40510ta2464ss="l&qulextent_ine"ot;super L4771.wrs="linitldi>&qulextent_ine" hrefnt_unlock" 7" id="Lis="ass=123ss=>238a>a> =_4lock" 7" id="LiINODE_CACHEef">ocfsreadereINODE_CACHE href="+code=9 mlog_t_i>"super L4771.t_i>&qulog_e_4="+code=9 mlog_tnbcimment">   11sptnbclog_)a>11
na>kordrees(stNULLline" nam40520014050010tatic int 4052(st2>11
na>kordrees(stNULLline" nam40530014050010tatic int 405_4 12473ss="l"super L4771.s_i>&qulog_)a>11
na>kordrees(stNULLline" nam40540014050010tatic int 40544 12473ss="l   1cre_refclog_ckr/a> *)   1acheeocre_refc_for_bytec href="+code=9 mlog_s_i>"super L4771.s_i>&qulog_="ass="ref=" href="+ilsbimment">   11spilsb hre_l11
na>kordrees(stNULLline" nam40550014050010tatic int 405st2he71 whether we neec a split hehe="3640560014050010tatic int 40560ta2464ss="l140tree_puteeeeeeeeeeeeeeee40tre>40510ta2327ss="lwhile23/a> *) *)   1cre_refclog_eren_ch href="fs/ocfs2/reass="comm11  4058001402>retr>405>(st2468ss="lin24TIG_="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)140_u010tatic int 40_ut2he71 whether we neec a split hehe="36406100140)_href="+code=ocfs2_read40)_h>40__4 12461ss="lin24atioin23/a> *) *)140+7- class="sref">OClow_c40+7->40__4 12472ss="lin24"+11ss="lin2="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)   1wrs="laddlreebh238a>a> =_n_ch href="fs/ocfs2/reass="comm11  40_300140040__4 12473ss="lin24umclin24atioooooooooooo0   11spode_ci;610_1lock" 7" id="Lirde_rootnbcimment">   11spode_rootnbc"com_4e3ss="lin24class="srebh)
14050010tatic int 40_10ta2464ss="llllllllllllllllllllllllllll0 *)140t+- class="sref">OClow_c40t+->40_>(st24e5ss="lin24ref====================0)
140_)- class="sref">OClow_c40_)->40_tree24l6ss="lin24lsfssssssssssssssssssssssss="lin24"+11ss="lin2="+code=9 mlog_exa_flagstttt(unsignnnnnext_flags1111_4e3ss="lin24class="srebh)
140+7- class="sref">OClow_c40+7->40_10ta2327ss="lin2300140se- class="sref">OClow_c40se->40_>(st2468ss="lin24TIG_________in23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  406900140+7- class="sref">OClow_c40+7->40_"#L524e9ss="lin24co11________________/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 407500140L4href="+code=ocfs2_read40L4h>40L4#L524e9ss="lin24co11________________ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc140x href="+code=ocfs2_read40x h>40L_4 12461ss="lin24atio11111111}>11
na>kordrees(stNULLline" nam407200140r href="+code=ocfs2_read40r h>40L_4 12472ss="lin24"+11}>11
na>kordrees(stNULLline" nam407300140" href="+code=ocfs2_read40" h>40L_4 124e3ss="lin24class="srebh)
140" href="+code=ocfs2_read40" h>40L10ta2464ss="lllllllll/a> *) *)140nFT> *)11
na>kordrees(stNULLline" nam407600140nlT> *)140tree_puteeeeeeeeeeeeeeee40tre>40L10ta2comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam407800140> href="+code=ocfs2_read40> h>40L>(st2468ss="l_rmurnk238/a>a> =ignreturnc140idT> *)14077- class="sref">OClow_c4077->40770ta2>11
na>kordrees(stNULLline" nam408100140__href="+code=ocfs2_read40__h>407_4 12 *)/*11
na>kordrees(stNULLline" nam407200140+7- class="sref">OClow_c40+7->40724 12 *) * change the new file's alinibutes to the src.11
na>kordrees(stNULLline" nam407300140040734 12 *) *11
na>kordrees(stNULLline" nam4074001401>retr>407mmen2 *)l* refd="k creates a snapshot of a file, that means the alinibutes11
na>kordrees(stNULLline" nam407500140nFT> *)l* me_r be0&, and ctime.11
na>kordrees(stNULLline" nam407600140<242_na>kordhref="+.610 40<24>40760ta2 *)l*/11
na>kordrees(stNULLline" nam407700140">- class="sref">OCla hr40">->4077(st2staticliL*) *)"super L4771."610="="+code=9 mlog_s_i>"super L4771.s_i>&qulog__4e3ss="lin24class="srebh)
140=_href="+code=ocfs2_read40=_h>407>(st2468ss="lin24TIG_________________ss *)   11spsnbc"com_4e3ss="lin24class="srebh)
140dree_puteeeeeeeeeeeeeeee40dre>407"#L524e9ss="lin24co11__________________ *)"super L4771."610="="+code=9 mlog_t_i>"super L4771.t_i>&qulog__4e3ss="lin24class="srebh)
1400>retr>400>(st2468ss="lin24TIG_________________ss *)   11sptnbclog__4e3ss="lin24class="srebh)
140=>retr>400_4 12461ss="lin24atio1111111111111111ll/a> *))
140=>retr>40020ta2en_ch href="fs/ocfs2/reass="comm11  409300140r href="+code=ocfs2_read40r h>400_4 12473ss="liL*)238/a>a> =ignreturnc140r href="+code=ocfs2_read40r h>40044 12473ss="l238handle_=;610="="+code=9 mlog_handle"ass=123ss=>238handlea> =ignreturnc140" href="+code=ocfs2_read40" h>400>(st24e5ss="l *)"super L4771.wrs="ldi>&qu;610="="+code=9 mlog_s_diimment">   11sps_dilog_ckr3 *)"super L4771.wrs="ldi>&qu;610=")commentbuffer_hsnbcimment">   11spsnbc"com="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc140nlT> *) *)"super L4771.wrs="ldi>&qu;610="="+code=9 mlog_diimment">   11spdilog_ckr3 *)"super L4771.wrs="ldi>&qu;610=")commentbuffer_htnbcimment">   11sptnbclog_="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc140tree_puteeeeeeeeeeeeeeee40tre>40010ta2327ss="l238loff_=4 124"super L4771.s_i>&qulog_)a>11
na>kordrees(stNULLline" nam409800140=s- class="sref">OClow_c40=s->400>(st2refref=" href="+code=9 1ss="comm11d400900140r>- class="sref">OClow_c40r>->40094 12473ss="l238handlea> =ckr/a> *)   11spa hrefSB href="+code=9 mlog_t_i>"super L4771.t_i>&qulog_="ass="ref=" href="+ilsbimment">   11spilsb hree_4e3ss="lin24class="srebh)
1419500class="sref">OClow_c41950>41004 12472ss="lin24"+111111111111111111111="+code=9 mlog_a hrefINODE_UPDATE_CREDITSimment">   11spa hrefINODE_UPDATE_CREDITS hreerrefrefrnc1419>retr>410_4 12461ss="lin23/a> *)238handlea> =)eren_ch href="fs/ocfs2/reass="comm11  4192001419>retr>410_4 12472ss="lin24"+11="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)238handlea> =)a>11
na>kordrees(stNULLline" nam4193001419 href="+code=ocfs2_read419 h>410_4 12473ss="lin24umcl/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 4194001419 href="+code=ocfs2_read419 h>41010ta2464ss="lllllllll_rmurnk238/a>a> =ignreturnc1419 href="+code=ocfs2_read419 h>410>(st24e5ss="l}>11
na>kordrees(stNULLline" nam4196001419lT> *)1419ree_puteeeeeeeeeeeeeeee419re>41010ta2327ss="l238/a>a> =ckr/a> *)   11spacheeojournal_access_di href="+code=9 mlog_handle"ass=123ss=>238handlea> =_4lock" 7" id="LiINODE_CACHEef">ocfsreadereINODE_CACHE href="+code=9 mlog_t_i>"super L4771.t_i>&qu hree_4="+code=9 mlog_tnbcimment">   11sptnbclog__4e3ss="lin24class="srebh)
1419s- class="sref">OClow_c419s->410>(st2468ss="lin24TIG_________________ssssss="+code=9 mlog_a hrefJOURNAL_ACCESS_WRITEef">ocfsreaderea hrefJOURNAL_ACCESS_WRITElog_errefref=" href="+code=9 1ss="comm11 4199001419>- class="sref">OClow_c419>->419"#L524e9ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  41150014150010tatic int 4150(st2468ss="lin24TIG_="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 415100141tree_puteeeeeeeeeeeeeeee41tre>415_4 12461ss="lin24atioass="comment24la>>24ou=_commi=ou32mment">   1wu>_commi=a> =ignreturnc1410_href="+code=ocfs2_read410_h>415_4 12472ss="l}>11
na>kordrees(stNULLline" nam415300141> href="+code=ocfs2_read41> h>411_4 124e3ss="lin24class="srebh)
141ig> *) *)"super L4771.t_i>&qulog_e="ass="ref=" href="+ip_"LrbT> *)OClow_c41t+->4155ree24l6ss="l"super L4771.s_i>&qulog_)="ass="ref=" href="+ip_nre_refctttt(unsignnnnnip_nre_refca> =rrefref=" href="+code=9 1ss="comm11 41560014177- class="sref">OClow_c4177->41160ta2464ss="l"super L4771.s_i>&qulog_)="ass="ref=" href="+ip_alintttt(unsignnnnnip_alina> =rrefref=" href="+code=9 1ss="comm11 415700141__href="+code=ocfs2_read41__h>41110ta2327ss="l   1ip_dyn_featurec4 12ckr/a> *)   1ip_dyn_featurec4 12rrefref=" href="+code=9 1ss="comm11 415800141+7- class="sref">OClow_c41+7->411>(st2468ss="l *)"super L4771.t_i>&qulog_e="ass="ref=" href="+ip_"LrbT> *)41194 12473ss="l141L4href="+code=ocfs2_read41L4h>412"(st2468ss="l"super L4771.t_i>&qulog_="ass="ref=" href="+ilb"Lrbcou32mment">   1i_b"Lrbc hreckr/a> *)"super L4771.s_i>&qulog_="ass="ref=" href="+ilb"Lrbcou32mment">   1i_b"Lrbc hrea>11
na>kordrees(stNULLline" nam4121001410>retr>41L_4 12>11
na>kordrees(stNULLline" nam41L2001411>retr>41L_4 12472ss="l="+code=9 mlog_diimment">   11spdilog_="ass="ref=" href="+ilxalin_inde=o_sizuot;super L4771.ilxalin_inde=o_sizu hreckr/a> *)   11sps_dilog_="ass="ref=" href="+ilxalin_inde=o_sizuot;super L4771.ilxalin_inde=o_sizu hrea>11
na>kordrees(stNULLline" nam412300141_>retr>41L_4 12473ss="l   11spdilog_="ass="ref=" href="+ilnre_refctttt(unsignnnnni_nre_refca> =ckr/a> *)   11sps_dilog_="ass="ref=" href="+ilnre_refctttt(unsignnnnni_nre_refca> =a>11
na>kordrees(stNULLline" nam412400141
>retr>41244 12473ss="l   11spdilog_="ass="ref=" href="+ilsizuot;super L4771.ilsizu hreckr/a> *)   11sps_dilog_="ass="ref=" href="+ilsizuot;super L4771.ilsizu hrea>11
na>kordrees(stNULLline" nam41250014136_>ret41L5ree24l6ss="l   11spdilog_="ass="ref=" href="+ildyn_featurecou32mment">   1i_dyn_featurec4 124kr="+code=9 mlog_s_diimment">   11sps_dilog_="ass="ref=" href="+ildyn_featurecou32mment">   1i_dyn_featurec4 12a>11
na>kordrees(stNULLline" nam412600141rFT> *)   11spdilog_="ass="ref=" href="+ilalintttt(unsignnnnni_alina> =ckr/a> *)   11sps_dilog_="ass="ref=" href="+ilalintttt(unsignnnnni_alina> =a>11
na>kordrees(stNULLline" nam412700141efcouren_adjacinod *)41274 12>11
na>kordrees(stNULLline" nam412800141> href="+code=ocfs2_read41> h>41L>(st2468ss="lin23/a> *)141idT> *)141="T> *)4130(st2468ss="lin24TIG_="+code=9 mlog_t_i>"super L4771.t_i>&qulog_="ass="ref=" href="+ilgidtttt(unsignnnnni_gid hreckr/a> *)"super L4771.s_i>&qulog_="ass="ref=" href="+ilgidtttt(unsignnnnni_gid hrea>11
na>kordrees(stNULLline" nam413100141">T> *)T>413_4 12461ss="lin24atio"super L4771.t_i>&qulog_="ass="ref=" href="+ilm"super L4771.ilm&qu hreckr/a> *)"super L4771.s_i>&qulog_="ass="ref=" href="+ilm"super L4771.ilm&qu hrea>11
na>kordrees(stNULLline" nam413200141)>T> *)   11spdilog_="ass="ref=" href="+iluidtttt(unsignnnnni_uid hreckr/a> *)   11sps_dilog_="ass="ref=" href="+iluidtttt(unsignnnnni_uid hrea>11
na>kordrees(stNULLline" nam413300141_>T> *) *)   11spdilog_="ass="ref=" href="+ilgidtttt(unsignnnnni_gid hreckr/a> *)   11sps_dilog_="ass="ref=" href="+ilgidtttt(unsignnnnni_gid hrea>11
na>kordrees(stNULLline" nam413400141_>retr>41310ta2464ss="lllllllll/a> *)   11spdilog_="ass="ref=" href="+ilm"super L4771.ilm&qu hreckr/a> *)   11sps_dilog_="ass="ref=" href="+ilm"super L4771.ilm&qu hrea>11
na>kordrees(stNULLline" nam413500141ttT> *)141t+- class="sref">OClow_c41t+->413tree24l6ss="lin24lsfs *)/*11
na>kordrees(stNULLline" nam413700141">retr>41=74 12 *)lllllllllllllllll* update time.11
na>kordrees(stNULLline" nam41380014150010tatic int 41=>(st2 *)lllllllllllllllll* we want mtime to appear011
na>kordrees(stNULLline" nam41390014150010tatic int 41="#L52 *)lllllllllllllllll* update ctime.11
na>kordrees(stNULLline" nam41450014150010tatic int 4150#L52 *)lllllllllllllllll*/11
na>kordrees(stNULLline" nam41410014150010tatic int 415_4 12461ss="lin24atio"super L4771.t_i>&qulog_="ass="ref=" href="+ilctimetttt(unsignnnnni_ntime hreckr/a> *)ocfsreadereCURRENT_TIME hrea>11
na>kordrees(stNULLline" nam41520014150010tatic int 4142(st2>11
na>kordrees(stNULLline" nam41530014150010tatic int 415_4 12473ss="lin24umcl   11spdilog_="ass="ref=" href="+ilntimetttt(unsignnnnni_ntime hreckr/a> *)10tagnnnnncpu_to_le50 href="+code=9 mlog_t_i>"super L4771.t_i>&qulog_="ass="ref=" href="+ilntimetttt(unsignnnnni_ntime hre.="ref=" href="+tv_sertttt(unsignnnnntv_ser1111)a>11
na>kordrees(stNULLline" nam41540014150010tatic int 41410ta2464ss="lllllllll/a> *)   11spdilog_="ass="ref=" href="+ilntime_nsertttt(unsignnnnnilntime_nser hreckr/a> *)T> *) href="+code=9 mlog_t_i>"super L4771.t_i>&qulog_="ass="ref=" href="+ilntimetttt(unsignnnnni_ntime hre.="ref=" href="+tv_nsertttt(unsignnnnntv_nser1111)a>11
na>kordrees(stNULLline" nam41550014150010tatic int 414st2he71 whether we neec a split hehe="3641560014150010tatic int 414tree24l6ss="lin24lsfs"super L4771.t_i>&qulog_="ass="ref=" href="+ilmtimetttt(unsignnnnni_mtime hreckr/a> *)"super L4771.s_i>&qulog_="ass="ref=" href="+ilmtimetttt(unsignnnnni_mtime hrea>11
na>kordrees(stNULLline" nam41570014150010tatic int 41410ta2327ss="lin2300 *)   11spdilog_="ass="ref=" href="+ilmtimetttt(unsignnnnni_mtime hreckr/a> *)   11sps_dilog_="ass="ref=" href="+ilmtimetttt(unsignnnnni_mtime hrea>11
na>kordrees(stNULLline" nam41580014150010tatic int 414>(st2468ss="lin24TIG_="+code=9 mlog_diimment">   11spdilog_="ass="ref=" href="+ilmtime_nsertttt(unsignnnnnilmtime_nser hreckr/a> *)   11sps_dilog_="ass="ref=" href="+ilmtime_nsertttt(unsignnnnnilmtime_nser hrea>11
na>kordrees(stNULLline" nam41590014150010tatic int 415"#L524e9ss="l}>11
na>kordrees(stNULLline" nam41550014150010tatic int 41504 12>11
na>kordrees(stNULLline" nam41510014150010tatic int 41510ta2464ss="l238handlea> =_4lock" 7" id="Litnbcimment">   11sptnbclog_errefref=" href="+code=9 1ss="comm11 41520014150010tatic int 4152(st2>11
na>kordrees(stNULLline" nam41530014150010tatic int 415_4 12   1wu>_commi=a> =:>11
na>kordrees(stNULLline" nam41540014150010tatic int 41544 12473ss="l   11spa hrefSB href="+code=9 mlog_t_i>"super L4771.t_i>&qulog_="ass="ref=" href="+ilsbimment">   11spilsb hree_4lock" 7" id="Lihandle"ass=123ss=>238handlea> =)a>11
na>kordrees(stNULLline" nam41550014150010tatic int 4155ree24l6ss="l_rmurnk238/a>a> =ignreturnc14150010tatic int 4156 hre}>11
na>kordrees(stNULLline" nam415700141tree_puteeeeeeeeeeeeeeee41tre>41574 12>11
na>kordrees(stNULLline" nam4158001412>retr>415>(st2staticliL*)"super L4771.wrs="lcreate_reede=k_>&qu href *)"super L4771."610="="+code=9 mlog_s_i>"super L4771.s_i>&qulog__4e3ss="lin24class="srebh)
14150010tatic int 415"#L524e9ss="lin24co11_____________________ *)   11spsnbc"com_4e3ss="lin24class="srebh)
141_u010tatic int 41604 12472ss="lin24"+111111111111111111111__ *)"super L4771."610="="+code=9 mlog_t_i>"super L4771.t_i>&qulog__4e3ss="lin24class="srebh)
141)_href="+code=ocfs2_read41)_h>41__4 12461ss="lin24atio_____________________ *)   11sptnbclog__4e3ss="lin24class="srebh)
141+7- class="sref">OClow_c41+7->41__4 12472ss="lin24"+11ss="lin22222222222222)
141041__4 12en_ch href="fs/ocfs2/reass="comm11  41_40014150010tatic int 41_10ta2464ss="liL*)238/a>a> =ignreturnc141t+- class="sref">OClow_c41t+->41_>(st24e5ss="l *)   11spode_rootnbc"comckr/a> *)   11spNULLa> =ignreturnc141_)- class="sref">OClow_c41_)->4166(st24e5ss="l *)141+7- class="sref">OClow_c41+7->41_10ta2327ss="l *) *)   11sposblog_ckr/a> *)   11spa hrefSB href="+code=9 mlog_s_i>"super L4771.s_i>&qulog_="ass="ref=" href="+ilsbimment">   11spilsb hre)a>11
na>kordrees(stNULLline" nam41_800141se- class="sref">OClow_c41se->41_>(st2468ss="l *) *)   11sprblog_ignreturnc141+7- class="sref">OClow_c41+7->41_"#L524e9ss="l *)"super L4771.wrs="ldi>&qu;610="="+code=9 mlog_diimment">   11spdilog_ckr3 *)"super L4771.wrs="ldi>&qu;610=")commentbuffer_hsnbcimment">   11spsnbc"com="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc141L4href="+code=ocfs2_read41L4h>41L4#L524e9ss="l *) =ignreturnc141x href="+code=ocfs2_read41x h>417_4 12>11
na>kordrees(stNULLline" nam417200141r href="+code=ocfs2_read41r h>417_4 12472ss="l="+code=9 mlog_wrs="linitldeallor_ctxttttt(unsignnnnnwrs="linitldeallor_ctxt hrefnt_unlock" 7" id="Lideallortttt(unsignnnnndeallorlog_errefref=" href="+code=9 1ss="comm11 417300141" href="+code=ocfs2_read41" h>41L_4 124e3ss="lin24class="srebh)
141" href="+code=ocfs2_read41" h>41744 12473ss="l238/a>a> =ckr/a> *)   11sptnbclog__4e3ss="lin24class="srebh)
141nFT> *)238le50_to_cpu href="+code=9 mlog_diimment">   11spdilog_="ass="ref=" href="+il(stNULLl_lortttt(unsignnnnnil(stNULLl_lorlog_eerrefref=" href="+code=9 1ss="comm11 417600141nlT> *) *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  41L700141tree_puteeeeeeeeeeeeeeee41tre>41710ta2327ss="lin2300 *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 417800141> href="+code=ocfs2_read41> h>417>(st2468ss="lin24TIG_ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc141idT> *)14177- class="sref">OClow_c4177->41770ta2>11
na>kordrees(stNULLline" nam418100141__href="+code=ocfs2_read41__h>418_4 12461ss="lin23/a> *)   1ip_dyn_featurec4 12)nt_un1="+code=9 mlog_a hrefINLINE_DATA_FLimment">   11spa hrefINLINE_DATA_FLlog_eren_ch href="fs/ocfs2/reass="comm11  417200141+7- class="sref">OClow_c41+7->418_4 12472ss="lin24"+11="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)tttt(unsignnnnnwrs="lduplicate_inde=o_d="> href="+code=9 mlog_s_i>"super L4771.s_i>&qulog__l   11spsnbc"com_4e3ss="lin24class="srebh)
1410418_4 12473ss="lin24umclin24atioooooooooooo0"super L4771.t_i>&qulog__4="+code=9 mlog_tnbcimment">   11sptnbclog_errefref=" href="+code=9 1ss="comm11 4174001411>retr>41810ta2464ss="lllllllllin23/a> *)ocfsreadere_rmlog_erefref=" href="+code=9 1ss="comm11 417500141nFT> *)ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 417600141<242_na>kordhref="+.610 41<24>418tree24l6ss="lin24lsfsass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc141">- class="sref">OCla hr41">->4187#L524e9ss="l}>11
na>kordrees(stNULLline" nam418800141=_href="+code=ocfs2_read41=_h>418>(st2refref=" href="+code=9 1ss="comm11d417900141dree_puteeeeeeeeeeeeeeee41dre>417"#L524e9ss="l="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)   11sposblog__4lock" 7" id="Lile50_to_cpu"ass=123ss=>238le50_to_cpu href="+code=9 mlog_diimment">   11spdilog_="ass="ref=" href="+il(stNULLl_lortttt(unsignnnnnil(stNULLl_lorlog_e_4e3ss="lin24class="srebh)
1410>retr>410>(st2468ss="lin24TIG_________________sssssss1_)nt_unlock" 7" id="Lirde_ine"ot;super L4771.rde_ine"a> =_)nt_unlock" 7" id="Lirde_rootnbcimment">   11spode_rootnbc"comerrefref=" href="+code=9 1ss="comm11 419100141=>retr>419_4 12461ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  419200141=>retr>419_4 12472ss="lin24"+11="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 419300141r href="+code=ocfs2_read41r h>419_4 12473ss="lin24umclass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc141r href="+code=ocfs2_read41r h>41044 12473ss="l}>11
na>kordrees(stNULLline" nam419500141" href="+code=ocfs2_read41" h>410>(st24e5ss="l="+code=9 mlog_rbimment">   11sprblog_ckr3 *) *)   11spode_rootnbc"com="ass="ref=" href="+b_d=">tttt(unsignnnnnb_d=">a> =ignreturnc141nlT> *)141tree_puteeeeeeeeeeeeeeee41tre>41010ta2327ss="l238/a>a> =ckr/a> *)   11sptnbclog__4e3ss="lin24class="srebh)
141=s- class="sref">OClow_c41=s->419>(st2468ss="lin24TIG_________________ssssssssssnt_unlock" 7" id="Lirde_ine"ot;super L4771.rde_ine"a> =="ass="ref=" href="+re_ciimment">   11spoe_ci;610_1lock" 7" id="Lirde_rootnbcimment">   11spode_rootnbc"com_4e3ss="lin24class="srebh)
141r>- class="sref">OClow_c41r>->419"#L524e9ss="lin24co11_____________________sssssnt_unlock" 7" id="Lideallortttt(unsignnnnndeallorlog_errefref=" href="+code=9 1ss="comm11 4295001429500class="sref">OClow_c42950>42004 12472ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  4291001429>retr>420_4 12461ss="lin24atio240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 4292001429>retr>420_4 12472ss="lin24"+11ass="comment24la>>24ou=_un"Lrbl(stNULLlou32mment">   1wu>_un"Lrbl(stNULLla> =ignreturnc1429 href="+code=ocfs2_read429 h>420_4 12473ss="l}>11
na>kordrees(stNULLline" nam4294001429 href="+code=ocfs2_read429 h>42010ta2>11
na>kordrees(stNULLline" nam4295001429 href="+code=ocfs2_read429 h>420>(st2comment24la>>24ou=_un"Lrbl(stNULLlou32mment">   1wu>_un"Lrbl(stNULLla> =:>11
na>kordrees(stNULLline" nam4296001429lT> *)   11sposblog__4lock" 7" id="Lirde_ine"ot;super L4771.rde_ine"a> =_)1errefref=" href="+code=9 1ss="comm11 4297001429ree_puteeeeeeeeeeeeeeee429re>42010ta2327ss="l   11spode_rootnbc"comerrefref=" href="+code=9 1ss="comm11 4298001429s- class="sref">OClow_c429s->420>(st2comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam4299001429>- class="sref">OClow_c429>->429"#L524e9ss="lin23/a> *) *)   11spwrs="lschedule_=runcate_acomfre_c href="+code=9 mlog_osbimment">   11sposblog__41errefref=" href="+code=9 1ss="comm11 425100142tree_puteeeeeeeeeeeeeeee42tre>425_4 12461ss="lin24atio   11sposblog__4nt_unlock" 7" id="Lideallortttt(unsignnnnndeallorlog_errefref=" href="+code=9 1ss="comm11 4252001420_href="+code=ocfs2_read420_h>425_4 12472ss="l}>11
na>kordrees(stNULLline" nam425300142> href="+code=ocfs2_read42> h>421_4 124e3ss="lin24class="srebh)
142ig> *)142t+- class="sref">OClow_c42t+->4255ree2}>11
na>kordrees(stNULLline" nam42560014277- class="sref">OClow_c4277->42160ta2>11
na>kordrees(stNULLline" nam425700142__href="+code=ocfs2_read42__h>4217(st2staticliL*) *))
142+7- class="sref">OClow_c42+7->421>(st2468ss="lin24TIG____________ *)   11spold_bc"com_4e3ss="lin24class="srebh)
142rFT> *)"super L4771.new_i>&qu"com_4e3ss="lin24class="srebh)
142L4href="+code=ocfs2_read42L4h>422>(st2468ss="lin24TIG____________)
1420>retr>42L_4 12en_ch href="fs/ocfs2/reass="comm11  42L2001421>retr>42L_4 12472ss="liL*)238/a>a> =ignreturnc142_>retr>42L_4 12473ss="l *)"super L4771."610="="+code=9 mlog_i>"super L4771."610=kr/a> *)r>42244 12473ss="l *)   11spnew_bc;610=kr/a> *)   11spNULLa> =ignreturnc14236_>ret422st2he71 whether we neec a split hehe="36422600142rFT> *) *)   11spa hrefINODE_SYSTEM_FILElog_eren_ch href="fs/ocfs2/reass="comm11  422700142efcouren_adjacinod *)42210ta2327ss="lin2300 *)238/a>a> =ckr-/a> *)   11spEINVALa> =ignreturnc142> href="+code=ocfs2_read42> h>422>(st2468ss="lin24TIG_="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 422900142idT> *)>24ou=ou32mment">   1wu>a> =ignreturnc142="T> *)4230(st2468ss="l}>11
na>kordrees(stNULLline" nam423100142">T> *)T>423_4 12>11
na>kordrees(stNULLline" nam423200142)>T> *)238/a>a> =ckr/a> *)writuot;super L4771.filemap_fd=">writu href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilmappingtttt(unsignnnnnilmappinglog_errefref=" href="+code=9 1ss="comm11 423300142_>T> *) *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  423400142_>retr>42310ta2464ss="lllllllll/a> *)240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 423500142ttT> *)   1wu>a> =ignreturnc142t+- class="sref">OClow_c42t+->423tree24l6ss="l}>11
na>kordrees(stNULLline" nam423700142">retr>42374 12>11
na>kordrees(stNULLline" nam42380014250010tatic int 423>(st2468ss="l238/a>a> =ckr/a> *)   11spold_bc"comerrefref=" href="+code=9 1ss="comm11 42390014250010tatic int 423"#L524e9ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  42450014250010tatic int 4240(st2468ss="lin24TIG_="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 42410014250010tatic int 425_4 12461ss="lin24atioass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc14250010tatic int 424_4 12472ss="l}>11
na>kordrees(stNULLline" nam42530014250010tatic int 424_4 124e3ss="lin24class="srebh)
14250010tatic int 42410ta2464ss="l="+code=9 mlog_mutexl"Lrblnestedtttt(unsignnnnnmutexl"Lrblnested hrefnt_unlock" 7" id="Linew_i>"super L4771.new_i>&qu"com="ass="ref=" href="+ilmutextttt(unsignnnnnilmutex;610_4lock" 7" id="LiI_MUTEX_CHILDtttt(unsignnnnnI_MUTEX_CHILDlog_errefref=" href="+code=9 1ss="comm11 42450014250010tatic int 424>(st24e5ss="l="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)&qul"Lrblnestedtttt(unsignnnnnwrs="li>&qul"Lrblnested href="+code=9 mlog_new_i>"super L4771.new_i>&qu"com_4nt_unlock" 7" id="Linew_bcimment">   11spnew_bc;610, 1_4e3ss="lin24class="srebh)
14250010tatic int 424tree24l6ss="lin24lsfsssssssssssssssssssssss="+code=9 mlog_aI_LS_REFLINK_TARGETimment">   11spaI_LS_REFLINK_TARGETlog_errefref=" href="+code=9 1ss="comm11 42470014250010tatic int 42410ta2327ss="lin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  42480014250010tatic int 424>(st2468ss="lin24TIG_="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 42490014250010tatic int 424"#L524e9ss="lin24co11ass="comment24la>>24ou=_un"LrbT> *) =ignreturnc14250010tatic int 4250(st2468ss="l}>11
na>kordrees(stNULLline" nam42510014250010tatic int 425_4 12>11
na>kordrees(stNULLline" nam42520014250010tatic int 425_4 12472ss="l="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)"super L4771.wrs="lcreate_reede=k_>&qu href="+code=9 mlog_i>"super L4771."610_4lock" 7" id="Liold_bcimment">   11spold_bc"com_4e3ss="lin24class="srebh)
14250010tatic int 425_4 12473ss="lin24umclin24atioooooooooooo0"super L4771.new_i>&qu"com_4lock" 7" id="Linew_bcimment">   11spnew_bc;610,  *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  42550014250010tatic int 425>(st24e5ss="llin24"+1="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 42560014250010tatic int 425tree24l6ss="lin24lsfsass="comment24la>>24i>&qulun"LrbT> *)&qulun"Lrba> =ignreturnc142tree_puteeeeeeeeeeeeeeee42tre>4257#L524e9ss="l}>11
na>kordrees(stNULLline" nam4258001422>retr>425>(st2refref=" href="+code=9 1ss="comm11d42590014250010tatic int 425"#L524e9ss="lin23/a> *)   1ip_dyn_featurec4 12)nt_un1="+code=9 mlog_a hrefHAS_XATTR_FLimment">   11spa hrefHAS_XATTR_FLlog_eren_ch href="fs/ocfs2/reass="comm11  426500142_u010tatic int 42604 12472ss="lin24"+11="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)   11spold_bc"com_4e3ss="lin24class="srebh)
142)_href="+code=ocfs2_read42)_h>42__4 12461ss="lin24atio_____________________o0"super L4771.new_i>&qu"com_4lock" 7" id="Linew_bcimment">   11spnew_bc;610,4e3ss="lin24class="srebh)
142+7- class="sref">OClow_c42+7->42__4 12472ss="lin24"+11ss="lin22222222222222o0426_4 12473ss="lin24umclin23/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  42_40014250010tatic int 42610ta2464ss="lllllllll22o0240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 426500142t+- class="sref">OClow_c42t+->426>(st24e5ss="llin24"+111111111ass="comment24la>>24i>&qulun"LrbT> *)&qulun"Lrba> =ignreturnc142_)- class="sref">OClow_c42_)->426tree24l6ss="lin24lsfs}>11
na>kordrees(stNULLline" nam426700142+7- class="sref">OClow_c42+7->4267#L524e9ss="l}>11
na>kordrees(stNULLline" nam42_800142se- class="sref">OClow_c42se->426>(st2refref=" href="+code=9 1ss="comm11d426900142+7- class="sref">OClow_c42+7->426"#L524e9ss="l="+code=9 mlog_rs="ass=123ss=>238/a>a> =ckr/a> *)"super L4771."610_4lock" 7" id="Liold_bcimment">   11spold_bc"com_4e3ss="lin24class="srebh)
142L4href="+code=ocfs2_read42L4h>427>(st2468ss="lin24TIG_________________sssss="+code=9 mlog_new_i>"super L4771.new_i>&qu"com_4lock" 7" id="Linew_bcimment">   11spnew_bc;610, 427_4 12461ss="lin23/a> *)ocfsreadere_rmlog_egnreturnc142r href="+code=ocfs2_read42r h>427_4 12472ss="lin24"+11="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 427300142" href="+code=ocfs2_read42" h>42L_4 124e3ss="lin24class="srebh)
142" href="+code=ocfs2_read42" h>42744 12comment24la>>24i>&qulun"LrbT> *)&qulun"Lrba> =:>11
na>kordrees(stNULLline" nam427500142nFT> *)&qulun"LrbT> *)42760ta2464ss="l   11spnew_bc;610errefref=" href="+code=9 1ss="comm11 427700142tree_puteeeeeeeeeeeeeeee42tre>42710ta2comment24la>>24ou=_un"LrbT> *) =:>11
na>kordrees(stNULLline" nam427800142> href="+code=ocfs2_read42> h>427>(st2468ss="l *)427"#L52comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam42850014277- class="sref">OClow_c4277->42804 12472ss="lin23!/a> *)ocfsreadere_rmlog_eren_ch href="fs/ocfs2/reass="comm11  428100142__href="+code=ocfs2_read42__h>428_4 12461ss="lin24atio238/a>a> =ckr/a> *)wai=ou32mment">   1filemap_fd=">wai= href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilmappingtttt(unsignnnnnilmappinglog_errefref=" href="+code=9 1ss="comm11 427200142+7- class="sref">OClow_c42+7->428_4 12472ss="lin24"+11in23/a> *)ocfsreadere_rmlog_egnreturnc1420428_4 12473ss="lin24umclin24atio="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_erref">ocfsreadere_rmlog_errefref=" href="+code=9 1ss="comm11 4274001421>retr>42810ta2464ss="l}>11
na>kordrees(stNULLline" nam427500142nFT> *)142<242_na>kordhref="+.610 42<24>4286 hre}>11
na>kordrees(stNULLline" nam427700142">- class="sref">OCla hr42">->42874 12>11
na>kordrees(stNULLline" nam428800142=_href="+code=ocfs2_read42=_h>428>(st2staticliL*) *)"super L4771."610="="+code=9 mlog_difT> *))
142dree_puteeeeeeeeeeeeeeee42dre>428"#L524e9ss="lin24co11_________ *))
1420>retr>420>(st2en_ch href="fs/ocfs2/reass="comm11  429100142=>retr>429_4 12461ss="liL*) *) =ignreturnc142=>retr>429_4 12472ss="l *)"super L4771."610="="+code=9 mlog_i>"super L4771."610=kr/a> *)429_4 12473ss="l *)   11spold_bc"com=kr/a> *)   11spNULLa> =ignreturnc142r href="+code=ocfs2_read42r h>42044 12473ss="l *)"super L4771."610="="+code=9 mlog_new_orphan_i>"super L4771.new_orphan_i>&qu"com=kr/a> *)   11spNULLa> =ignreturnc142" href="+code=ocfs2_read42" h>429st2he71 whether we neec a split hehe="36429600142nlT> *) *)   11spa hrefSB href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hre))e4e3ss="lin24class="srebh)
142tree_puteeeeeeeeeeeeeeee42tre>42910ta2327ss="lin2300 *)   11spEOPNOTSUPPa> =ignreturnc142=s- class="sref">OClow_c42=s->429>(st2refref=" href="+code=9 1ss="comm11d420900142r>- class="sref">OClow_c42r>->429"#L524e9ss="l="+code=9 mlog_menofT> *) =ckr/a> *)&qulin_orphanot;super L4771.wrs="lcreate_i>&qulin_orphan href="+code=9 mlog_difT> *)"super L4771."610="ass="ref=" href="+ilm"super L4771.ilm&qu hre_4e3ss="lin24class="srebh)
1439500class="sref">OClow_c43950>430>(st2468ss="lin24TIG_________________sssssssssssssnt_unlock" 7" id="Linew_orphan_i>"super L4771.new_orphan_i>&qu"comerrefref=" href="+code=9 1ss="comm11 4391001439>retr>430_4 12461ss="lin23/a> *) *) =eren_ch href="fs/ocfs2/reass="comm11  4392001439>retr>430_4 12472ss="lin24"+11="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_menofT> *) =errefref=" href="+code=9 1ss="comm11 4393001439 href="+code=ocfs2_read439 h>430_4 12473ss="lin24umclass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc1439 href="+code=ocfs2_read439 h>43010ta2464ss="l}>11
na>kordrees(stNULLline" nam4395001439 href="+code=ocfs2_read439 h>430st2he71 whether we neec a split hehe="364396001439lT> *) *) =ckr/a> *)&qul"LrbT> *)   11spold_bc"com_41errefref=" href="+code=9 1ss="comm11 4397001439ree_puteeeeeeeeeeeeeeee439re>43010ta2327ss="lin23/a> *) *) =eren_ch href="fs/ocfs2/reass="comm11  4398001439s- class="sref">OClow_c439s->430>(st2468ss="lin24TIG_="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_menofT> *) =errefref=" href="+code=9 1ss="comm11 4399001439>- class="sref">OClow_c439>->430"#L524e9ss="lin24co11ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc14350010tatic int 4310(st2468ss="l}>11
na>kordrees(stNULLline" nam435100143tree_puteeeeeeeeeeeeeeee43tre>431_4 12>11
na>kordrees(stNULLline" nam4352001430_href="+code=ocfs2_read430_h>431_4 12472ss="l="+code=9 mlog_down_writuot;super L4771.down_writu hrefnt_unlock" 7" id="Lia hrefI               a hrefI href="+code=9 mlog_i>"super L4771."610)="ass="ref=" href="+ip_xalin_semot;super L4771.&p_xalin_sema> =errefref=" href="+code=9 1ss="comm11 435300143> href="+code=ocfs2_read43> h>43134 12472ss="l="+code=9 mlog_down_writuot;super L4771.down_writu hrefnt_unlock" 7" id="Lia hrefI               a hrefI href="+code=9 mlog_i>"super L4771."610)="ass="ref=" href="+ip_allor_semot;super L4771.&p_allor_sema> =errefref=" href="+code=9 1ss="comm11 435400143ig> *) *) =ckr/a> *)   11spold_bc"com_4e3ss="lin24class="srebh)
143t+- class="sref">OClow_c43t+->431>(st24e5ss="llin24"+11ss="lin22222222lock" 7" id="Linew_orphan_i>"super L4771.new_orphan_i>&qu"com, OClow_c4377->43160ta2464ss="l"super L4771."610)="ass="ref=" href="+ip_allor_semot;super L4771.&p_allor_sema> =errefref=" href="+code=9 1ss="comm11 435700143__href="+code=ocfs2_read43__h>43110ta2327ss="l"super L4771."610)="ass="ref=" href="+ip_xalin_semot;super L4771.&p_xalin_sema> =errefref=" href="+code=9 1ss="comm11 435800143+7- class="sref">OClow_c43+7->431>(st2refref=" href="+code=9 1ss="comm11d435900143rFT> *) *)143L4href="+code=ocfs2_read43L4h>432>(st2468ss="l   11spold_bc"comerrefref=" href="+code=9 1ss="comm11 4321001430>retr>432_4 12>11
na>kordrees(stNULLline" nam43L2001431>retr>43L_4 12472ss="lin23/a> *) *) =eren_ch href="fs/ocfs2/reass="comm11  432300143_>retr>432_4 12473ss="lin24umcl="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_menofT> *) =errefref=" href="+code=9 1ss="comm11 432400143
>retr>43210ta2464ss="lllllllllass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc14336_>ret432>(st24e5ss="l}>11
na>kordrees(stNULLline" nam432600143rFT> *)143efcouren_adjacinod *)43210ta2327ss="l/* If the security isn't preservud, we need s="re-initialize them. */11
na>kordrees(stNULLline" nam432800143> href="+code=ocfs2_read43> h>432>(st2468ss="lin23!/a> *)143idT> *)it_security_and_acltttt(unsignnnnnwrs="li>it_security_and_acl href="+code=9 mlog_difT> *)"super L4771.new_orphan_i>&qu"com,n_ch href="fs/ocfs2/reass="comm11  433500143="T> *)433>(st2468ss="lin24TIG_________________ssssssssssssssssssssnt_unlock" 7" id="Linew_/entrytttt(unsignnnnnnew_/entry;610="ass="ref=" href="+d_cREFot;super L4771.d_cREFa> =errefref=" href="+code=9 1ss="comm11 433100143">T> *)T>433_4 12461ss="lin24atioin23/a> *) *) =erefref=" href="+code=9 1ss="comm11 433200143)>T> *)240                   nacommentt href="+code=9 mlog_menofT> *) =errefref=" href="+code=9 1ss="comm11 433300143_>T> *)11
na>kordrees(stNULLline" nam433400143_>retr>43344 12comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam433500143ttT> *) *) *) =eren_ch href="fs/ocfs2/reass="comm11  433600143t+- class="sref">OClow_c43t+->433tree24l6ss="lin24lsfs *) =ckr/a> *)&qu_to_newtttt(unsignnnnnwrs="lmv_orphaned_i>&qu_to_new href="+code=9 mlog_difT> *)"super L4771.new_orphan_i>&qu"com,n_ch href="fs/ocfs2/reass="comm11  433700143">retr>43310ta2327ss="lin230014350010tatic int 433>(st2468ss="lin24TIG_in23/a> *) *) =erefref=" href="+code=9 1ss="comm11 43390014350010tatic int 433"#L524e9ss="lin24co11________="+code=9 mlog_ma>240                   nacommentt href="+code=9 mlog_menofT> *) =errefref=" href="+code=9 1ss="comm11 43450014350010tatic int 4340(st2468ss="l}>11
na>kordrees(stNULLline" nam43410014350010tatic int 434_4 12>11
na>kordrees(stNULLline" nam43520014350010tatic int 434_4 12472ss="lin23/a> *)"super L4771.new_orphan_i>&qu"comeren_ch href="fs/ocfs2/reass="comm11  43530014350010tatic int 434_4 12473ss="lin24umcl=spanouren_adcomment">/*11
na>kordrees(stNULLline" nam43540014350010tatic int 43410ta2=spanouren_adcomment">lin24co11________* We need s="openlun"Lrb the i>&qu no matter whether we11
na>kordrees(stNULLline" nam43550014350010tatic int 434>(st2=spanouren_adcomment">lin24co11________* succeed or not, so that other >&qus canodelete it later.11
na>kordrees(stNULLline" nam43560014350010tatic int 434tree2=spanouren_adcomment">lin24co11________*/11
na>kordrees(stNULLline" nam43470014350010tatic int 43410ta2327ss="lin2300 *) *) *) =erefref=" href="+code=9 1ss="comm11 43490014350010tatic int 434"#L524e9ss="lin24co11in2300 *)   1ipu= href="+code=9 mlog_new_orphan_i>"super L4771.new_orphan_i>&qu"comerrefref=" href="+code=9 1ss="comm11 43550014350010tatic int 4350(st2468ss="l}>11
na>kordrees(stNULLline" nam43510014350010tatic int 435_4 12>11
na>kordrees(stNULLline" nam43520014350010tatic int 435_4 12472ss="l_rmurnk *) =ignreturnc14350010tatic int 435_4 12}>11
na>kordrees(stNULLline" nam43540014350010tatic int 43510ta2>11
na>kordrees(stNULLline" nam43550014350010tatic int 435>(st2=spanouren_adcomment">/*11
na>kordrees(stNULLline" nam43560014350010tatic int 435tree2=spanouren_adcomment">l* Below here are the bits used by a hrefIOC_REFLINK() s="fake11
na>kordrees(stNULLline" nam435700143tree_puteeeeeeeeeeeeeeee43tre>4357#L52=spanouren_adcomment">l* sysl(stle=k().  This will go away when vfsl(stle=k() exists in11
na>kordrees(stNULLline" nam4358001432>retr>435>(st2=spanouren_adcomment">l* dre7" ci.c.11
na>kordrees(stNULLline" nam43590014350010tatic int 435"#L52=spanouren_adcomment">l*/11
na>kordrees(stNULLline" nam436500143_u010tatic int 43604 12>11
na>kordrees(stNULLline" nam436100143)_href="+code=ocfs2_read43)_h>43__4 12/* copied from maylcreate in VFS. */11
na>kordrees(stNULLline" nam436200143+7- class="sref">OClow_c43+7->43__4 12staticl="+code=9 mlog_i>sref">;super L4771.&qsref4 124iL*) *)"super L4771."610="="+code=9 mlog_difT> *) *) =erefref=" href="+code=9 1ss="comm11 43_3001430436_4 12en_ch href="fs/ocfs2/reass="comm11  43_40014350010tatic int 43610ta2464ss="lin23/a> *) =="ass="ref=" href="+d_i>"super L4771.d_i>&qu"comerefref=" href="+code=9 1ss="comm11 43_500143t+- class="sref">OClow_c43t+->436>(st24e5ss="llin24"+1_rmurnk-/a> *)   11spEEXISTa> =ignreturnc143_)- class="sref">OClow_c43_)->4366(st24e5ss="lin23/a> *)   11spIS_DEADDIR href="+code=9 mlog_difT> *))
143+7- class="sref">OClow_c43+7->43610ta2327ss="lin2300 *)   11spENOENTa> =ignreturnc143se- class="sref">OClow_c43se->43684 12472ss="l_rmurnk&qu_permissionot;super L4771.i>&qu_permission href="+code=9 mlog_difT> *) *) *)OClow_c43+7->436"#L52}>11
na>kordrees(stNULLline" nam437500143L4href="+code=ocfs2_read43L4h>43704 12>11
na>kordrees(stNULLline" nam437100143x href="+code=ocfs2_read43x h>437_4 12/**11
na>kordrees(stNULLline" nam437200143r href="+code=ocfs2_read43r h>437_4 12=spanouren_adcomment">l* wrs="lvfsl(stle=k - Create al_rference-NULLled le=k hspan2>11
na>kordrees(stNULLline" nam437300143" href="+code=ocfs2_read43" h>43L_4 12=spanouren_adcomment">l* hspan2>11
na>kordrees(stNULLline" nam437400143" href="+code=ocfs2_read43" h>43710ta2=spanouren_adcomment">l* @old_dentry:472ss="lsource dentry + i>&qu"cspan2>11
na>kordrees(stNULLline" nam437500143nFT> *)l* @dif:472ss="difectory s="create the targa>a>span2>11
na>kordrees(stNULLline" nam437600143nlT> *)l* @new_/entry:472ss="ltarga> /entry;6span2>11
na>kordrees(stNULLline" nam437700143tree_puteeeeeeeeeeeeeeee43tre>4377#L52=spanouren_adcomment">l* @preservu:"lin2/a>e, preservu all file alinibutec4 span2>11
na>kordrees(stNULLline" nam437800143> href="+code=ocfs2_read43> h>437>(st2=spanouren_adcomment">l*/11
na>kordrees(stNULLline" nam437900143idT> *) *) *)"super L4771."610="="+code=9 mlog_difT> *))
14377- class="sref">OClow_c4377->438>(st2468ss="lin24TIG______________ *))
143__href="+code=ocfs2_read43__h>438_4 12en_ch href="fs/ocfs2/reass="comm11  437200143+7- class="sref">OClow_c43+7->438_4 12472ss="l *)"super L4771."610="="+code=9 mlog_i>"super L4771."610=kr/a> *)438_4 12473ss="liL*) *) =ignreturnc1431>retr>43810ta2>11
na>kordrees(stNULLline" nam437500143nFT> *) *)"super L4771."610)>11
na>kordrees(stNULLline" nam437600143<242_na>kordhref="+.610 43<24>438tree24l6ss="lin24lsfs_rmurnk-/a> *)   11spENOENTa> =ignreturnc143">- class="sref">OCla hr43">->43874 12>11
na>kordrees(stNULLline" nam438800143=_href="+code=ocfs2_read43=_h>438>(st2468ss="l *) =ckr/a> *)1430>retr>439>(st2468ss="lin24TIG__rmurnk *) =ignreturnc143=>retr>439_4 12>11
na>kordrees(stNULLline" nam439200143=>retr>439_4 12472ss="lin23/a> *) *)   11spilsb hre !kr/a> *)"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hre)>11
na>kordrees(stNULLline" nam439300143r href="+code=ocfs2_read43r h>439_4 12473ss="lin24umcl_rmurnk-/a> *)   11spEXDEVa> =ignreturnc143r href="+code=ocfs2_read43r h>43910ta2>11
na>kordrees(stNULLline" nam430500143" href="+code=ocfs2_read43" h>439>(st24e5ss="l=spanouren_adcomment">/*11
na>kordrees(stNULLline" nam439600143nlT> *)lin24co11* A (stle=k s="anoappend-only or immutable file cannot be"created.11
na>kordrees(stNULLline" nam439700143tree_puteeeeeeeeeeeeeeee43tre>4397#L52=spanouren_adcomment">lin24co11*/11
na>kordrees(stNULLline" nam430800143=s- class="sref">OClow_c43=s->439>(st2468ss="lin23/a> *)   11spIS_IMMUTABLE href="+code=9 mlog_i>"super L4771."610))>11
na>kordrees(stNULLline" nam439900143r>- class="sref">OClow_c43r>->439"#L524e9ss="lin24co11_rmurnk-/a> *)   11spEPERMa> =ignreturnc1449500class="sref">OClow_c44950>44004 12>11
na>kordrees(stNULLline" nam4491001449>retr>440_4 12461ss="l/* Only regular files canobe"(stle=ked.1*/11
na>kordrees(stNULLline" nam4492001449>retr>440_4 12472ss="lin23!/a> *)   11spS_ISREG href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilm"super L4771.ilm&qu hre))>11
na>kordrees(stNULLline" nam4493001449 href="+code=ocfs2_read449 h>440_4 12473ss="lin24umcl_rmurnk-/a> *)   11spEPERMa> =ignreturnc1449 href="+code=ocfs2_read449 h>44010ta2>11
na>kordrees(stNULLline" nam4495001449 href="+code=ocfs2_read449 h>440>(st24e5ss="l=spanouren_adcomment">/*11
na>kordrees(stNULLline" nam4496001449lT> *)lin24co11* If the caller wants s="preservu ownership, they require the11
na>kordrees(stNULLline" nam4497001449ree_puteeeeeeeeeeeeeeee449re>4407#L52=spanouren_adcomment">lin24co11* rights s="do so.11
na>kordrees(stNULLline" nam4498001449s- class="sref">OClow_c449s->440>(st2=spanouren_adcomment">lin24co11*/11
na>kordrees(stNULLline" nam4499001449>- class="sref">OClow_c449>->440"#L524e9ss="lin23/a> *)14450010tatic int 441>(st2468ss="lin24TIG_in233/a> *) *)"super L4771."610="ass="ref=" href="+iluidtttt(unsignnnnniluidlog_ernt_unnt_un1!/a> *)144tree_puteeeeeeeeeeeeeeee44tre>441_4 12461ss="lin24atio_________rmurnk-/a> *)   11spEPERMa> =ignreturnc1440_href="+code=ocfs2_read440_h>441_4 12472ss="lin24"+11in23!/a> *)_group_pot;super L4771.&q_group_p href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilgidtttt(unsignnnnnilgidlog_ernt_unnt_un1!/a> *)144> href="+code=ocfs2_read44> h>441_4 12473ss="lin24umclin24atio_rmurnk-/a> *)   11spEPERMa> =ignreturnc144ig> *)11
na>kordrees(stNULLline" nam445500144t+- class="sref">OClow_c44t+->441st2he71 whether we neec a split hehe="3644560014477- class="sref">OClow_c4477->44160ta2464ss="l/*11
na>kordrees(stNULLline" nam445700144__href="+code=ocfs2_read44__h>4417#L52=spanouren_adcomment">lin24co11* If the caller is m&qifying"any aspect of the alinibutec, they11
na>kordrees(stNULLline" nam445800144+7- class="sref">OClow_c44+7->441>(st2=spanouren_adcomment">lin24co11* are not creating"a snapshot.  They need read permission on the11
na>kordrees(stNULLline" nam445900144rFT> *)lin24co11* file.11
na>kordrees(stNULLline" nam442500144L4href="+code=ocfs2_read44L4h>442>(st2=spanouren_adcomment">lin24co11*/11
na>kordrees(stNULLline" nam4421001440>retr>442_4 12461ss="lin23!/a> *)1441>retr>442_4 12472ss="lin24"+11 *) =ckr/a> *)&qu_permissionot;super L4771.i>&qu_permission href="+code=9 mlog_i>"super L4771."610_4lock" 7" id="LiMAY_READtttt(unsignnnnnMAY_READ;610errefref=" href="+code=9 1ss="comm11 442300144_>retr>442_4 12473ss="lin24umclin23/a> *) *) =erefref=" href="+code=9 1ss="comm11 442400144
>retr>44210ta2464ss="lllllllllin24atio_rmurnk *) =ignreturnc14436_>ret442>(st24e5ss="l}>11
na>kordrees(stNULLline" nam442600144rFT> *)144efcouren_adjacinod *)44210ta2327ss="l *)144> href="+code=ocfs2_read44> h>442>(st2468ss="l *)442"#L524e9ss="l="+code=9 mlog_menofT> *) =ckr/a> *) *)443>(st2468ss="l *)144">T> *)T>443_4 12461ss="lin23!/a> *) *) =erefref=" href="+code=9 1ss="comm11 443200144)>T> *) *)T>443_4 12473ss="l_rmurnk *) =ignreturnc144_>retr>44344 12}>11
na>kordrees(stNULLline" nam443500144ttT> *)/*11
na>kordrees(stNULLline" nam443600144t+- class="sref">OClow_c44t+->443tree2=spanouren_adcomment">l* Most coqus are copied from syslle=kat.11
na>kordrees(stNULLline" nam443700144">retr>4437#L52=spanouren_adcomment">l*/11
na>kordrees(stNULLline" nam44380014450010tatic int 443>(st2iL*) *)"super L4771."610="="+code=9 mlog_i>"super L4771."610_4e3ss="lin24class="srebh)
14450010tatic int 443"#L524e9ss="lin24co11________const charr/a> *))
14450010tatic int 444>(st2468ss="lin24TIG_________const charr/a> *))
14450010tatic int 444_4 12461ss="lin24atio________="+code=9 mlog_booltttt(unsignnnnnbool4 124)
14450010tatic int 444_4 12en_ch href="fs/ocfs2/reass="comm11  44530014450010tatic int 444_4 12473ss="l *) *)   11sppatc4 124   11spold_patc"com_)   11spnew_patc;610ignreturnc14450010tatic int 444>(st24e5ss="liL*) *) =ignreturnc14450010tatic int 44460ta2>11
na>kordrees(stNULLline" nam44470014450010tatic int 44410ta2327ss="lin23!/a> *)   11spa hrefSB href="+code=9 mlog_i>"super L4771."610="ass="ref=" href="+ilsbimment">   11spilsb hre))e4e3ss="lin24class="srebh)
14450010tatic int 444>(st2468ss="lin24TIG__rmurnk-/a> *)   11spEOPNOTSUPPa> =ignreturnc14450010tatic int 444"#L52gnreturnc14450010tatic int 445>(st2468ss="l *) =ckr/a> *)   1user_patc_a= href="+code=9 mlog_AT_FDCWDtttt(unsignnnnnAT_FDCWD"com_)   11spold_patc"comerrefref=" href="+code=9 1ss="comm11 44510014450010tatic int 445_4 12461ss="lin23/a> *) *) =eren_ch href="fs/ocfs2/reass="comm11  44520014450010tatic int 445_4 12472ss="lin24"+11/a> *)240                   nacommentt href="+code=9 mlog_menofT> *) =errefref=" href="+code=9 1ss="comm11 44530014450010tatic int 445_4 12473ss="lin24umcl_rmurnk *) =ignreturnc14450010tatic int 44510ta2464ss="l}>11
na>kordrees(stNULLline" nam44550014450010tatic int 445st2he71 whether we neec a split hehe="3644560014450010tatic int 44560ta2464ss="l *)   11spnew_patc;610_ 0errefref=" href="+code=9 1ss="comm11 445700144tree_puteeeeeeeeeeeeeeee44tre>44510ta2327ss="l *) =ckr/a> *)   11spPTR_ERR href="+code=9 mlog_new_/entrytttt(unsignnnnnnew_/entry;610errefref=" href="+code=9 1ss="comm11 4458001442>retr>445>(st2468ss="lin23/a> *)   11spIS_ERR href="+code=9 mlog_new_/entrytttt(unsignnnnnnew_/entry;610eeren_ch href="fs/ocfs2/reass="comm11  44590014450010tatic int 445"#L524e9ss="lin24co11240                   nacommentt href="+code=9 mlog_menofT> *) =errefref=" href="+code=9 1ss="comm11 446500144_u010tatic int 446>(st2468ss="lin24TIG_ass="comment24la>>24ou=ou32mment">   1wu>a> =ignreturnc144)_href="+code=ocfs2_read44)_h>44610ta2464ss="l}>11
na>kordrees(stNULLline" nam446200144+7- class="sref">OClow_c44+7->44__4 12>11
na>kordrees(stNULLline" nam446300144044634 12472ss="l="+code=9 mlog_menofT> *) =ckr-/a> *)   11spEXDEVa> =ignreturnc14450010tatic int 44610ta2464ss="lin23/a> *)   11spold_patc"com.   1mn=0ta24!kr/a> *)   11spnew_patc;610.   1mn=0ta2eren_ch href="fs/ocfs2/reass="comm11  44_500144t+- class="sref">OClow_c44t+->446>(st24e5ss="llin24"+1240                   nacommentt href="+code=9 mlog_menofT> *) =errefref=" href="+code=9 1ss="comm11 446600144_)- class="sref">OClow_c44_)->446tree24l6ss="lin24lsfsass="comment24la>>24ou=_dpu=ou32mment">   1ou=_dpu=a> =ignreturnc144+7- class="sref">OClow_c44+7->44610ta2327ss="l}>11
na>kordrees(stNULLline" nam446800144se- class="sref">OClow_c44se->446>(st2refref=" href="+code=9 1ss="comm11d446900144+7- class="sref">OClow_c44+7->446"#L524e9ss="l="+code=9 mlog_menofT> *) =ckr/a> *) *)   11spold_patc"com.)
144L4href="+code=ocfs2_read44L4h>447>(st2468ss="lin24TIG_________________ss/a> *)   11spnew_patc;610."super L4771.d_i>&qu"com_4e3ss="lin24class="srebh)
144x href="+code=ocfs2_read44x h>447_4 12461ss="lin24atio________________ss/a> *)447_4 12=omment24la>>24ou=_dpu=ou32mment">   1ou=_dpu=a> =:>11
na>kordrees(stNULLline" nam447300144" href="+code=ocfs2_read44" h>44734 12472ss="l="+code=9 mlog_done_patc_createtttt(unsignnnnndone_patc_create hrefnt_unlock" 7" id="Linew_patcimment">   11spnew_patc;610_ ="+code=9 mlog_new_/entrytttt(unsignnnnnnew_/entry;610errefref=" href="+code=9 1ss="comm11 447400144" href="+code=ocfs2_read44" h>44744 12comment24la>>24ou=ou32mment">   1wu>a> =:>11
na>kordrees(stNULLline" nam447500144nFT> *)   1patc_pu= hrefnt_unlock" 7" id="Liold_patcimment">   11spold_patc"comerrefref=" href="+code=9 1ss="comm11 447600144nlT> *)144tree_puteeeeeeeeeeeeeeee44tre>44710ta2327ss="l_rmurnk *) =ignreturnc144> href="+code=ocfs2_read44> h>447>(st2}>11
na>kordrees(stNULLline" nam447900144idT> *)


*) TheeoriginaEF_CO44i144ilp0ojects/lxori4ilp>l*/unittaee.cat go experi/lxo@EF_ux. ee.ca
*sub Theeoriglxo.EF_ux. kindly hosthrefIOrdreeso. >Redpill LF_v>o ASaee.cav>ovideralinLF_uxharr/ulnapshond"Lrbrathe *)