[Ocfs2-commits] branch, master, updated. ocfs2-1.4.0-114-g96cb761

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Fri Apr 17 18:07:02 PDT 2009


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  96cb76137242e2a29cf80552ac364ec0cd679313 (commit)
       via  33aa40ed04921d8da4fcc059d5c987137316c84e (commit)
       via  951d9716c9d2d0ec3d717369a1b330068cf7249e (commit)
       via  cc6bb77df8b3ef933a428d1bc4f2e0f229f75899 (commit)
       via  607f434070732655c2f5ca26f5fbe41909ebef63 (commit)
       via  b57885997a773ad52190c307642107158be7bded (commit)
       via  f098be0f6ecf371d18037307ae24545459ccbb83 (commit)
       via  4d8f63079d2360dc6781f1c0f9bec4be911c2bdc (commit)
       via  3f9ddd224b15d6387507f5ea779cc9ee52005183 (commit)
       via  c4534a5cbbbb98f30620f4a5b50733ece9ddae86 (commit)
       via  2633c2afcc5dba4c9b74af53e7395990efd04d7e (commit)
       via  805f2b576a150e962ba49ed7fba3af51af28f2e2 (commit)
       via  12af190d87014b823892f8430bd823233d67b5da (commit)
       via  7ea896ea31376d955ec2ca5c20b6028007cc8c51 (commit)
       via  f76196f17edb65c26a3b6969131c0488d290e845 (commit)
       via  b5b6eaff65ec728183f655f08c04551dd88e7b75 (commit)
       via  c676ef0bbe920c9b94e5248c109fd24db6f6a81c (commit)
       via  d0d2117c46ad3fa199cf3239021d92ade4425c34 (commit)
       via  c09bf40f1e5404723780f9166e0057a7ab56537c (commit)
       via  1cd9f1f86a5e4557c0af5b81a13e67bbc889c7dd (commit)
       via  95d17010c865a66496cd94572b87e59c5a994d22 (commit)
       via  1e4db33dadc76f14b64a1e9b28d96cc327226c32 (commit)
       via  c87f7b9b3527619989e72050d9aef398ee0ef3cf (commit)
       via  78667902808ada3bab401019c3a35c1d133ecb4f (commit)
       via  101f90d66ca389386b49afeed8e23e17c643b1a4 (commit)
       via  f2a67413fd02ddd171225e8bba8098807011ad26 (commit)
      from  99f8a0aed260820afb524a673677b3b4c806ec50 (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 96cb76137242e2a29cf80552ac364ec0cd679313
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date:   Wed Apr 15 15:21:13 2009 -0700

    ocfs2: recover orphans in offline slots during recovery and mount
    
    Mainline commit 9140db04ef185f934acf2b1b15b3dd5e6a6bfc22
    
    During recovery, a node recovers orphans in it's slot and the dead node(s). But
    if the dead nodes were holding orphans in offline slots, they will be left
    unrecovered.
    
    If the dead node is the last one to die and is holding orphans in other slots
    and is the first one to mount, then it only recovers it's own slot, which
    leaves orphans in offline slots.
    
    This patch queues complete_recovery to clean orphans for all offline slots
    during mount and node recovery.
    
    Signed-off-by: Srinivas Eeda <srinivas.eeda at oracle.com>

commit 33aa40ed04921d8da4fcc059d5c987137316c84e
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:20:40 2009 -0700

    ocfs2/dlm: Tweak mle_state output
    
    Mainline commit 9405dccfd3201d2b76e120949bec81ba8cfbd2d0
    
    The debugfs file, mle_state, now prints the number of largest number of mles
    in one hash link.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 951d9716c9d2d0ec3d717369a1b330068cf7249e
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:20:34 2009 -0700

    ocfs2/dlm: Do not purge lockres that is being migrated dlm_purge_lockres()
    
    Mainline commit 516b7e52abc7efd61c084b217c61985a403828ed
    
    This patch attempts to fix a fine race between purging and migration.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit cc6bb77df8b3ef933a428d1bc4f2e0f229f75899
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:20:28 2009 -0700

    ocfs2/dlm: Remove struct dlm_lock_name in struct dlm_master_list_entry
    
    Mainline commit 7141514b8307734c117f100c4a3637887c5def45
    
    This patch removes struct dlm_lock_name and adds the entries directly
    to struct dlm_master_list_entry. Under the new scheme, both mles that
    are backed by a lockres or not, will have the name populated in mle->mname.
    This allows us to get rid of code that was figuring out the location of
    the mle name.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 607f434070732655c2f5ca26f5fbe41909ebef63
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:20:22 2009 -0700

    ocfs2/dlm: Show the number of lockres/mles in dlm_state
    
    Mainline commit e64ff14607ac90b2f3349550a41cc8dc0c0b1324
    
    This patch shows the number of lockres' and mles in the debugfs file, dlm_state.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit b57885997a773ad52190c307642107158be7bded
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:20:12 2009 -0700

    ocfs2/dlm: dlm_set_lockres_owner() and dlm_change_lockres_owner() inlined
    
    Mainline commit 7d62a978a8c85cd82301615840d744f0d83b87e7
    
    This patch inlines dlm_set_lockres_owner() and dlm_change_lockres_owner().
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit f098be0f6ecf371d18037307ae24545459ccbb83
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:20:06 2009 -0700

    ocfs2/dlm: Improve lockres counts
    
    Mainline commit 6800791ab773453bdec337efb3f0cec6557f3bb3
    
    This patch replaces the lockres counts that tracked the number number of
    locally and remotely mastered lockres' with a current and total count. The
    total count is the number of lockres' that have been created since the dlm
    domain was created.
    
    The number of locally and remotely mastered counts can be computed using
    the locking_state output.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 4d8f63079d2360dc6781f1c0f9bec4be911c2bdc
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:20:01 2009 -0700

    ocfs2/dlm: Track number of mles
    
    Mainline commit 2041d8fdcec7603401829f60810c1dbd5e96c043
    
    The lifetime of a mle is limited to the duration of the lockres mastery
    process. While typically this lifetime is fairly short, we have noticed
    the number of mles explode under certain circumstances. This patch tracks
    the number of each different types of mles and should help us determine
    how best to speed up the mastery process.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 3f9ddd224b15d6387507f5ea779cc9ee52005183
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:19:55 2009 -0700

    ocfs2/dlm: Indent dlm_cleanup_master_list()
    
    Mainline commit 67ae1f0604da3bcf3ed6dec59ac71d07e54a404c
    
    The previous patch explicitly did not indent dlm_cleanup_master_list()
    so as to make the patch readable. This patch properly indents the
    function.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit c4534a5cbbbb98f30620f4a5b50733ece9ddae86
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:19:49 2009 -0700

    ocfs2/dlm: Activate dlm->master_hash for master list entries
    
    Mainline commit 2ed6c750d645d09b5948e46fada3ca1fda3157b5
    
    With this patch, the mles are stored in a hash and not a simple list.
    This should improve the mle lookup time when the number of outstanding
    masteries is large.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 2633c2afcc5dba4c9b74af53e7395990efd04d7e
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:19:44 2009 -0700

    ocfs2/dlm: Create and destroy the dlm->master_hash
    
    Mainline commit e2b66ddcce922529e058cf74d839c4c49c8379a1
    
    This patch adds code to create and destroy the dlm->master_hash.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 805f2b576a150e962ba49ed7fba3af51af28f2e2
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:19:37 2009 -0700

    ocfs2/dlm: Refactor dlm_clean_master_list()
    
    Mainline commit c2cd4a44333034203cb198915e2b75c3227d41bf
    
    This patch refactors dlm_clean_master_list() so as to make it
    easier to convert the mle list to a hash.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 12af190d87014b823892f8430bd823233d67b5da
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:19:28 2009 -0700

    ocfs2/dlm: Clean up struct dlm_lock_name
    
    Mainline commit f77a9a78c3a1d995b3bf948dbcad5c4a1b2302d5
    
    For master mle, the name it stored in the attached lockres in struct qstr.
    For block and migration mle, the name is stored inline in struct dlm_lock_name.
    This patch attempts to make struct dlm_lock_name look like a struct qstr. While
    we could use struct qstr, we don't because we want to avoid having to malloc
    and free the lockname string as the mle's lifetime is fairly short.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 7ea896ea31376d955ec2ca5c20b6028007cc8c51
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:19:22 2009 -0700

    ocfs2/dlm: Encapsulate adding and removing of mle from dlm->master_list
    
    Mainline commit 1c0845773ad9f4875603b752235aea8aa04565f3
    
    This patch encapsulates adding and removing of the mle from the
    dlm->master_list. This patch is part of the series of patches that
    converts the mle list to a mle hash.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit f76196f17edb65c26a3b6969131c0488d290e845
Author: Tao Ma <tao.ma at oracle.com>
Date:   Wed Apr 15 15:21:08 2009 -0700

    ocfs2: Optimize inode group allocation by recording last used group.
    
    Mainline commit feb473a6e8bd19297d0f3bb377b25055c0228c0a
    
    In ocfs2, the block group search looks for the "emptiest" group
    to allocate from. So if the allocator has many equally(or almost
    equally) empty groups, new block group will tend to get spread
    out amongst them.
    
    So we add osb_inode_alloc_group in ocfs2_super to record the last
    used inode allocation group.
    For more details, please see
    http://oss.oracle.com/osswiki/OCFS2/DesignDocs/InodeAllocationStrategy.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit b5b6eaff65ec728183f655f08c04551dd88e7b75
Author: Tao Ma <tao.ma at oracle.com>
Date:   Wed Apr 15 15:20:57 2009 -0700

    ocfs2: Allocate inode groups from global_bitmap.
    
    Mainline commit 60ca81e82dae4aa2e8ae84cf96b4d08535931669
    
    Inode groups used to be allocated from local alloc file,
    but since we want all inodes to be contiguous enough, we
    will try to allocate them directly from global_bitmap.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit c676ef0bbe920c9b94e5248c109fd24db6f6a81c
Author: Tao Ma <tao.ma at oracle.com>
Date:   Wed Apr 15 15:20:51 2009 -0700

    ocfs2: Optimize inode allocation by remembering last group
    
    Mainline commit 138211515c102807a16c02fdc15feef1f6ef8124
    
    In ocfs2, the inode block search looks for the "emptiest" inode
    group to allocate from. So if an inode alloc file has many equally
    (or almost equally) empty groups, new inodes will tend to get
    spread out amongst them, which in turn can put them all over the
    disk. This is undesirable because directory operations on conceptually
    "nearby" inodes force a large number of seeks.
    
    So we add ip_last_used_group in core directory inodes which records
    the last used allocation group. Another field named ip_last_used_slot
    is also added in case inode stealing happens. When claiming new inode,
    we passed in directory's inode so that the allocation can use this
    information.
    For more details, please see
    http://oss.oracle.com/osswiki/OCFS2/DesignDocs/InodeAllocationStrategy.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit d0d2117c46ad3fa199cf3239021d92ade4425c34
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:18:17 2009 -0700

    ocfs2: Remove debugfs file local_alloc_stats
    
    Mainline commit 59b526a30722f29e5dba6210a6e0fc34e3149b94
    
    This patch removes the debugfs file local_alloc_stats as that information
    is now included in the fs_state debugfs file.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit c09bf40f1e5404723780f9166e0057a7ab56537c
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:18:01 2009 -0700

    ocfs2: Expose the file system state via debugfs
    
    Mainline commit 50397507e856455b3f5cb3d5c7c482209f9e46a0
    
    This patch creates a per mount debugfs file, fs_state, which exposes
    information like, cluster stack in use, states of the downconvert, recovery
    and commit threads, number of journal txns, some allocation stats, list of
    all slots, etc.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 1cd9f1f86a5e4557c0af5b81a13e67bbc889c7dd
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:16:38 2009 -0700

    ocfs2/hb: Expose the list of heartbeating nodes via debugfs
    
    Mainline commit 87d3d3f3931f3e0fca44fbb5c06ad45fc4dca9bc
    
    This patch creates a debugfs file, o2hb/livesnodes, which exposes the
    aggregate list of heartbeating node across all heartbeat regions.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 95d17010c865a66496cd94572b87e59c5a994d22
Author: wengang wang <wen.gang.wang at oracle.com>
Date:   Wed Apr 15 15:19:15 2009 -0700

    ocfs2: add IO error check in ocfs2_get_sector()
    
    Mainline commit 28d57d437786eb3e44f1ca3f0f41e7cfe29c6dd4
    
    Check for IO error in ocfs2_get_sector().
    
    Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 1e4db33dadc76f14b64a1e9b28d96cc327226c32
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:19:08 2009 -0700

    ocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter
    
    Mainline commit 53ecd25e148615e0ed2a72635cc76f4773f97f90
    
    In dlm_assert_master_handler(), if we get an incorrect assert master from a node
    that, we reply with EINVAL asking the asserter to die. The problem is that an
    assert is sent after so many hoops, it is invariably the node that thinks the
    asserter is wrong, is actually wrong. So instead of killing the asserter, this
    patch kills the assertee.
    
    This patch papers over a race that is still being addressed.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Acked-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit c87f7b9b3527619989e72050d9aef398ee0ef3cf
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:18:48 2009 -0700

    ocfs2/dlm: Use ast_lock to protect ast_list
    
    Mainline commit dabc47de7a23f57522dc762d9d2ad875700d3497
    
    The code was using dlm->spinlock instead of dlm->ast_lock to protect the
    ast_list. This patch fixes the issue.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Acked-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 78667902808ada3bab401019c3a35c1d133ecb4f
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:18:35 2009 -0700

    ocfs2: Cleanup the lockname print in dlmglue.c
    
    Mainline commit c74ff8bb2235d848beb67fcfddae71ecbe3f92b1
    
    The dentry lock has a different format than other locks. This patch fixes
    ocfs2_log_dlm_error() macro to make it print the dentry lock correctly.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Acked-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 101f90d66ca389386b49afeed8e23e17c643b1a4
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:18:25 2009 -0700

    ocfs2/dlm: Retract fix for race between purge and migrate
    
    Mainline commit 7dc102b737e9f49dac426161294cb2d326a97d8e
    
    Mainline commit d4f7e650e55af6b235871126f747da88600e8040 attempts to delay
    the dlm_thread from sending the drop ref message if the lockres is being
    migrated. The problem is that we make the dlm_thread wait for the migration
    to complete. This causes a deadlock as dlm_thread also participates in the
    lockres migration process.
    
    A better fix for the original oss bugzilla#1012 is in testing.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Acked-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit f2a67413fd02ddd171225e8bba8098807011ad26
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Wed Apr 15 15:17:38 2009 -0700

    ocfs2: Wakeup the downconvert thread after a successful cancel convert
    
    Mainline commit a4b91965d39d5d53b470d6aa62cba155a6f3ffe1
    
    When two nodes holding PR locks on a resource concurrently attempt to
    upconvert the locks to EX, the master sends a BAST to one of the nodes. This
    message tells that node to first cancel convert the upconvert request,
    followed by downconvert to a NL. Only when this lock is downconverted to NL,
    can the master upconvert the first node's lock to EX.
    
    While the fs was doing the cancel convert, it was forgetting to wake up the
    dc thread after a successful cancel, leading to a deadlock.
    
    Reported-and-Tested-by: David Teigland <teigland at redhat.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

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

Summary of changes:
 fs/ocfs2/cluster/heartbeat.c   |   96 ++++++++++-
 fs/ocfs2/cluster/heartbeat.h   |    3 +-
 fs/ocfs2/cluster/nodemanager.c |    9 +-
 fs/ocfs2/dlm/dlmcommon.h       |   58 ++++--
 fs/ocfs2/dlm/dlmdebug.c        |   87 ++++++----
 fs/ocfs2/dlm/dlmdomain.c       |   29 +++-
 fs/ocfs2/dlm/dlmmaster.c       |  399 ++++++++++++++++++++--------------------
 fs/ocfs2/dlm/dlmthread.c       |   23 ++-
 fs/ocfs2/dlm/dlmunlock.c       |    4 +-
 fs/ocfs2/dlmglue.c             |   20 ++-
 fs/ocfs2/inode.c               |    2 +
 fs/ocfs2/inode.h               |    4 +
 fs/ocfs2/journal.c             |  141 ++++++++++++--
 fs/ocfs2/journal.h             |    2 +
 fs/ocfs2/localalloc.c          |   86 ---------
 fs/ocfs2/namei.c               |    4 +-
 fs/ocfs2/ocfs2.h               |   11 +-
 fs/ocfs2/suballoc.c            |  106 +++++++++--
 fs/ocfs2/suballoc.h            |    2 +
 fs/ocfs2/super.c               |  178 ++++++++++++++++++
 20 files changed, 875 insertions(+), 389 deletions(-)


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



More information about the Ocfs2-commits mailing list