[Ocfs2-commits] branch, master, updated. ocfs2-1.4.8-22-g3f1d637

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Mon Apr 25 23:24:38 PDT 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The ocfs2 filesystem version 1.4".

The branch, master has been updated
       via  3f1d637a051b0194877de0ca510be7adb73d48f1 (commit)
       via  19c2d78b3a30e959935d795f0fbdb3ab0356924c (commit)
       via  e7d1ebfab792fd9e6eb3ba9bb52cac8ab385b100 (commit)
       via  fcebd3998eac18381f56e27e890064d3fd45d164 (commit)
       via  5e44fac7f62aeb600058012690c316eb9915260c (commit)
       via  2d0f89e57a56f55e3bbef15cf666e745fcc70890 (commit)
       via  d39733e6468059e5c05f08e2426d6d5d7075aa3e (commit)
       via  25054f5e7019d8105fafd82057a886d33a6dd0df (commit)
       via  5a3f3be40e99e8e94a1f1eed8d8391800c0230a9 (commit)
       via  86623b5d81956c93e736481422ce5b36314f88ce (commit)
       via  e9e96c3d8a83d76a54e2b0bc53a7cb0e9eace9ae (commit)
       via  d364b26fe802a6ad8a9646de6f479ca0c424cac5 (commit)
       via  8b8a65be0d5c4c5745430074b5cdbef509808649 (commit)
       via  798bf5d7136704ef566b7bdaaf1f26a22c363e64 (commit)
       via  ef3d0a091e2bd9581171046b2ea1336d4333343b (commit)
       via  6ad6fbb667887258388c8c71da0bdb5c0de8d5dd (commit)
       via  101b7f15430db74b1ec20bfd57b76d13a79e284e (commit)
       via  2549fdbd2dd1783527ad2dacdf90a617f9fa1a2d (commit)
       via  cb12d88a163489351d54fbb9ba0dd8141dd9cec1 (commit)
      from  2c09a04d801102aa371c3fe6b4cf617274890749 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3f1d637a051b0194877de0ca510be7adb73d48f1
Author: Tristan Ye <tristan.ye at oracle.com>
Date:   Thu Apr 21 14:22:07 2011 +0800

    ocfs2: Use the right group in nfs sync check.
    
    We have added discontig block group now, and now an inode
    can be allocated in an discontig block group. So get
    it in ocfs2_get_suballoc_slot_bit.
    
    The old ocfs2_test_suballoc_bit gets group block no
    from the allocation inode which is wrong. Fix it by
    passing the right group.
    
    Acked-by: Mark Fasheh <mfasheh at suse.com>
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit 19c2d78b3a30e959935d795f0fbdb3ab0356924c
Author: Tao Ma <tao.ma at oracle.com>
Date:   Mon Jul 5 15:45:41 2010 +0800

    ocfs2: enable discontig block group support.
    
    Mainline commit 1a934c3e57594588c373aea858e4593cdfcba4f4.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit e7d1ebfab792fd9e6eb3ba9bb52cac8ab385b100
Author: Tao Ma <tao.ma at oracle.com>
Date:   Mon Jul 5 15:43:50 2010 +0800

    ocfs2: Set ac_last_group properly with discontig group.
    
    Mainline commit abf1b3cb5b20fbad27ca9c7497235eeb4dd3f4fd.
    
    ac_last_group is used to record the last block group we
    used during allocation. But the initialization process
    only calls ocfs2_which_suballoc_group and fails to
    use suballoc_loc properly. So let us do it.
    Another function ocfs2_test_suballoc_bit also needs fix.
    
    I have searched all the callers of ocfs2_which_suballoc_group,
    and all the callers notices suballoc_loc now.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit fcebd3998eac18381f56e27e890064d3fd45d164
Author: Tao Ma <tao.ma at oracle.com>
Date:   Mon Jul 5 15:36:02 2010 +0800

    ocfs2: Free block to the right block group.
    
    Mainline commit 74380c479ad83addeff8a172ab95f59557b5b0c3.
    
    In case the block we are going to free is allocated from
    a discontiguous block group, we have to use suballoc_loc
    to be the right group.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit 5e44fac7f62aeb600058012690c316eb9915260c
Author: Tao Ma <tao.ma at oracle.com>
Date:   Mon Jul 5 15:25:10 2010 +0800

    ocfs2: Add ocfs2_gd_is_discontig.
    
    Mainline commit af2bf0d86019e0b0306965321096f8380b7ca830.
    
    Add ocfs2_gd_is_discontig so that we can test whether
    a group descriptor is discontiguous or not.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit 2d0f89e57a56f55e3bbef15cf666e745fcc70890
Author: Tao Ma <tao.ma at oracle.com>
Date:   Mon Jul 5 15:23:57 2010 +0800

    ocfs2: ocfs2_group_bitmap_size has to handle old volume.
    
    Mainline commit 8571882c21e5073b2f96147ec4ff9b7042339e1b.
    
    ocfs2_group_bitmap_size has to handle the case when the
    volume don't have discontiguous block group support. So
    pass the feature_incompat in and check it.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit d39733e6468059e5c05f08e2426d6d5d7075aa3e
Author: Tao Ma <tao.ma at oracle.com>
Date:   Mon Jul 5 15:20:00 2010 +0800

    ocfs2: Some tiny bug fixes for discontiguous block allocation.
    
    Mainline commit 4711954eaa8d30f653fda238cecf919f1ae40d6f.
    
    The fixes include:
    1. some endian problems.
    2. we should use bit/bpc in ocfs2_block_group_grow_discontig to
       allocate clusters.
    3. set num_clusters properly in __ocfs2_claim_clusters.
    4. change name from ocfs2_supports_discontig_bh to
       ocfs2_supports_discontig_bg.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit 25054f5e7019d8105fafd82057a886d33a6dd0df
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 15:18:02 2010 +0800

    ocfs2: Don't relink cluster groups when allocating discontig block groups
    
    Mainline commit 95ec0adf0b56d6a3f0ca1ec87173311898486b2e.
    
    We don't have enough credits, and the filesystem is in a full state
    anyway.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 5a3f3be40e99e8e94a1f1eed8d8391800c0230a9
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 15:15:44 2010 +0800

    ocfs2: Grow discontig block groups in one transaction.
    
    Mainline commit 8b06bc592ebc5a31e8d0b9c2ab17c6e78dde1f86.
    
    Rather than extending the transaction every time we add an extent to a
    discontiguous block group, we grab enough credits to fill the extent
    list up front.  This means we can free the bits in the same transaction
    if we end up not getting enough space.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 86623b5d81956c93e736481422ce5b36314f88ce
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 15:12:11 2010 +0800

    ocfs2: Set suballoc_loc on allocated metadata.
    
    Mainline commit 2b6cb576aa80611f1f6a3c88708d1e68a8d97985.
    
    Get the suballoc_loc from ocfs2_claim_new_inode() or
    ocfs2_claim_metadata().  Store it on the appropriate field of the block
    we just allocated.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit e9e96c3d8a83d76a54e2b0bc53a7cb0e9eace9ae
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 14:54:43 2010 +0800

    ocfs2: Return allocated metadata blknos on the ocfs2_suballoc_result.
    
    Mainline commit ba2066351b630f0205ebf725f5c81a2a07a77cd7.
    
    Rather than calculating the resulting block number, return it on the
    ocfs2_suballoc_result structure.  This way we can calculate block
    numbers for discontiguous block groups.
    
    Cluster groups keep doing it the old way.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit d364b26fe802a6ad8a9646de6f479ca0c424cac5
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 14:52:50 2010 +0800

    ocfs2: ocfs2_claim_*() don't need an ocfs2_super argument.
    
    Mainline commit 1ed9b777f77929ae961d6f9cdf828a07200ba71c.
    
    They all take an ocfs2_alloc_context, which has the allocation inode.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit 8b8a65be0d5c4c5745430074b5cdbef509808649
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 15:49:18 2010 +0800

    ocfs2: Trim suballocations if they cross discontiguous regions
    
    Mainline commit 13e434cf0cacd2f03a7f4cd077e3e995ef5ef710.
    
    A discontiguous block group can find a range of free bits that straddle
    more than one region of its space.  Callers can't handle that, so we
    trim the returned bits until they fit within one region.
    
    Only cluster allocations ask for min_bits>1.  Discontiguous block groups
    are only for block allocations.  So min_bits doesn't matter here.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 798bf5d7136704ef566b7bdaaf1f26a22c363e64
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 15:49:10 2010 +0800

    ocfs2: ocfs2_claim_suballoc_bits() doesn't need an osb argument.
    
    Mainline commit aa8f8e93c898a0319bcd6c79a9a42fe52abac7d7.
    
    It's contained on ac->ac_inode->i_sb anyway.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit ef3d0a091e2bd9581171046b2ea1336d4333343b
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 15:49:00 2010 +0800

    ocfs2: Add suballoc_loc to metadata blocks.
    
    Mainline commit 9cbc01231e82f9390edaea2b766abcb7165dc4b2.
    
    We need a suballoc_loc field on any suballocated block.  Define them.
    
    Note from Tao Ma:
    In mainline we have added  i_xattr_loc, i_check, i_dx_root
    and i_refcount_loc in ocfs2_dinode, so in order to make
    the i_suballoc_loc the same position, I reserve 4 __le64 for
    these fields.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit 6ad6fbb667887258388c8c71da0bdb5c0de8d5dd
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 15:48:52 2010 +0800

    ocfs2: Pass suballocation results back via a structure.
    
    Mainline commit 7d1fe093bf04124dcc50c5dde1765bd098464bfa.
    
    We're going to be adding more info to a suballocator allocation.  Rather
    than growing every function in the chain, let's pass a result structure
    around.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit 101b7f15430db74b1ec20bfd57b76d13a79e284e
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 15:48:42 2010 +0800

    ocfs2: Allocate discontiguous block groups.
    
    Mainline commit 798db35f4649eac2778381c390ed7d12de9ec767.
    
    If we cannot get a contiguous region for a block group, allocate a
    discontiguous one when the filesystem supports it.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit 2549fdbd2dd1783527ad2dacdf90a617f9fa1a2d
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Jul 5 15:48:29 2010 +0800

    ocfs2: Define data structures for discontiguous block groups.
    
    Mainline commit 4cbe4249d6586d5d88ef271e07302407a14c8443.
    
    Defines the OCFS2_FEATURE_INCOMPAT_DISCONTIG_BG feature bit and modifies
    struct ocfs2_group_desc for the feature.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit cb12d88a163489351d54fbb9ba0dd8141dd9cec1
Author: Tao Ma <tao.ma at oracle.com>
Date:   Mon Jul 5 15:48:18 2010 +0800

    ocfs2: Add clusters free in dealloc_ctxt.
    
    Mainline commmit 2891d290aa6eee0821f7e4ad0b1c4ae4d964b0f1.
    
    Now in ocfs2 xattr set, the whole process are divided into many small
    parts and they are wrapped into diffrent transactions and it make the
    set doesn't look like a real transaction. So we want to integrate it
    into a real one.
    
    In some cases we will allocate some clusters and free some in just one
    transaction. e.g, one xattr is larger than inline size, so it and its
    value root is stored within the inode while the value is outside in a
    cluster. Then we try to update it with a smaller value(larger than the
    size of root but smaller than inline size), we may need to free the
    outside cluster while allocate a new bucket(one cluster) since now the
    inode may be full. The old solution will lock the global_bitmap(if the
    local alloc failed in stress test) and then the truncate log. This will
    cause a ABBA lock with truncate log flush.
    
    This patch add the clusters free in dealloc_ctxt, so that we can record
    the free clusters during the transaction and then free it after we
    release the global_bitmap in xattr set.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

-----------------------------------------------------------------------

Summary of changes:
 fs/ocfs2/alloc.c      |  131 +++++++++--
 fs/ocfs2/alloc.h      |    8 +
 fs/ocfs2/dir.c        |    4 +-
 fs/ocfs2/file.c       |    2 +-
 fs/ocfs2/journal.h    |   12 +
 fs/ocfs2/localalloc.c |    4 +-
 fs/ocfs2/namei.c      |    8 +-
 fs/ocfs2/ocfs2.h      |    7 +
 fs/ocfs2/ocfs2_fs.h   |  119 +++++++++-
 fs/ocfs2/resize.c     |    6 +-
 fs/ocfs2/suballoc.c   |  613 +++++++++++++++++++++++++++++++++++--------------
 fs/ocfs2/suballoc.h   |   19 +-
 fs/ocfs2/super.c      |    3 +-
 13 files changed, 719 insertions(+), 217 deletions(-)


hooks/post-receive
-- 
The ocfs2 filesystem version 1.4



More information about the Ocfs2-commits mailing list