[Ocfs2-commits] branch, master, updated. ocfs2-1.4.8-48-g0a7d135

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Thu Jun 14 14:25:41 PDT 2012


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  0a7d13561ee7bc5d35dc5a9783f124fb7794dba2 (commit)
       via  eb16fe99268663701230e2da2d6559547383ebf2 (commit)
       via  b43e5ba0cef57424c302f586890747203c75d036 (commit)
       via  44cb780aaeeb08195db25cfa1ee7aa6a0ea632dd (commit)
       via  8b50ce49ab74f79b1d0fe7120eabab187b9ecfbb (commit)
       via  5a46f23ffd6f0d492d5a6225282317a3a7075d7f (commit)
       via  82d04642284324eaf4e8efc0ad95da3706007fd5 (commit)
       via  e3ce663e582713c8693b89ce8d7470cb6071f59c (commit)
       via  8c38356d23c4286311b94a3581af1ef6043d2fd6 (commit)
       via  125f17362f276db23132d987ddd1f41f56cd7e85 (commit)
       via  9100ffcbb8b763ffcaf46f551a0f55db9e7d2635 (commit)
       via  d44ec86c532476acc7b0e4787a1de466ee97baa7 (commit)
       via  49d03f249137df98054f0244d46e10dd60ec5319 (commit)
       via  7ede0dd846080c61196db4f2723e276605519add (commit)
       via  c692cca650afa9896f27be3ca157947c545e4701 (commit)
       via  81f32fd63424c743642f63e9e41c5a6a42d974c7 (commit)
       via  d0f55f0a0823534dd26c57185764cd2b5f01d0ba (commit)
       via  1ff890f24877ad28ea1830caf5cb4bc6254e418f (commit)
       via  545109f8e9887e63443cd55e6d1881520d997bb6 (commit)
       via  a105e47950c2432cd0e4a6ce201d7465bc3f6efc (commit)
       via  90d8ada7a524d6632902c67e7840e37374e4d86a (commit)
       via  8471a90b989194fd6daf51f1ec9495bfd1f0125b (commit)
       via  012ef4e2a721bd52679c9c6a218dc7f1913bc51c (commit)
       via  bf86102f0810cb2cd9dc420b1007a582df28cb0e (commit)
       via  0033452f3fc944f6a529f9c00393d86269c465f7 (commit)
      from  0f4e5001540bd551670b886a8e70bb0baaa3c820 (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 0a7d13561ee7bc5d35dc5a9783f124fb7794dba2
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date:   Wed Jun 13 13:14:22 2012 -0700

    ocfs2: up version-1.4.10
    
    increment version number
    
    Signed-off-by: Srinivas Eeda <srinivas.eeda at oracle.com>

commit eb16fe99268663701230e2da2d6559547383ebf2
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date:   Tue Nov 15 21:41:06 2011 -0800

    ocfs2: Avoid livelock in ocfs2_readpage()
    
    author	Jan Kara <jack at suse.cz>
    
    ocfs2_readpage() just busyloop trying to get ip_alloc_sem because
    do_generic_file_read() looks up the page again and retries ->readpage()
    when previous attempt failed with AOP_TRUNCATED_PAGE. When there are enough
    readers, they can occupy all CPUs and in non-preempt kernel the system is
    deadlocked because writer holding ip_alloc_sem is never run to release the
    semaphore. Fix the problem by making reader block on ip_alloc_sem to break
    the busy loop.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <jlbec at evilplan.org>

commit b43e5ba0cef57424c302f586890747203c75d036
Author: Jan Kara <jack at suse.cz>
Date:   Tue Nov 15 21:42:32 2011 -0800

    ocfs2: Fix deadlock when allocating page
    
    Mainline commit 9b4c0ff32ccd87ab52d4c5bd0a0536febce11370
    
    We cannot call grab_cache_page() when holding filesystem locks or with
    a transaction started as grab_cache_page() calls page allocation with
    GFP_KERNEL flag and thus page reclaim can recurse back into the filesystem
    causing deadlocks or various assertion failures. We have to use
    find_or_create_page() instead and pass it GFP_NOFS as we do with other
    allocations.
    
    Acked-by: Mark Fasheh <mfasheh at suse.com>
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

commit 44cb780aaeeb08195db25cfa1ee7aa6a0ea632dd
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date:   Tue Nov 15 21:43:21 2011 -0800

    ocfs2: commit transactions in error cases.
    
    Author: Wengang Wang <wen.gang.wang at oracle.com>
    
    commit 63d5d4cd7ce3948d83b7c7c8aa8a4add6a1e7e91
    
    There are three cases found that in error cases, journal transactions are not
    committed nor aborted. We should take care of these case by committing the
    transactions. Otherwise, there would left a journal handle which will lead to
    , in same process context, the comming ocfs2_start_trans() gets wrong credits.
    
    Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
    Acked-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 8b50ce49ab74f79b1d0fe7120eabab187b9ecfbb
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date:   Tue Nov 15 21:43:41 2011 -0800

    ocfs2: make direntry invalid when deleting it.
    
    When we deleting a direntry from a directory, if it's the first in a block we
    invalid it by setting inode to 0; otherwise, we merge the deleted one to the
    prior and contiguous direntry. And we don't truncate directories.
    
    There is a problem for the later case since inode is not set to 0.
    This problem happens when the caller passes a file position as parameter to
    ocfs2_dir_foreach_blk(). If the position happens to point to a stale(not
    the first, deleted in betweens of ocfs2_dir_foreach_blk()s) direntry, we are
    not able to recognize its staleness. So that we treat it as a live one wrongly.
    
    The fix is to set inode to 0 in both cases indicating the direntry is stale.
    This won't introduce additional IOs.
    
    Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
    Acked-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 5a46f23ffd6f0d492d5a6225282317a3a7075d7f
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Tue Nov 15 21:44:13 2011 -0800

    ocfs2: Skip mount recovery for hard-ro mounts
    
    Mainline commit 10b3dd76117a327557b8cb898b41c18afd08dc86
    
    Patch skips mount recovery for hard-ro mounts which otherwise leads to an oops.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Acked-by: Mark Fasheh <mfasheh at suse.com>
    Signed-off-by: Joel Becker <jlbec at evilplan.org>

commit 82d04642284324eaf4e8efc0ad95da3706007fd5
Author: Marcus Meissner <meissner at suse.de>
Date:   Tue Nov 15 21:44:31 2011 -0800

    ocfs2: Initialize data_ac (might be used uninitialized)
    
    Mainline commit 5d44670facd3205212f8fe89eb422e3b5f309612
    
    CLANG found that there is a path that has data_ac uninitialized,
    this place
            2917    /* This gets us the dx_root */
            2918    ret = ocfs2_reserve_new_metadata_blocks(osb, 1, &meta_ac);
            2919    if (ret) {
    
            3
                    Taking true branch
            2920    mlog_errno(ret);
            2921    goto out;
    
            4
                    Control jumps to line 3168
            2922    }
    
    Goes to the out: label without data_ac being initialized.
    
    Ciao, Marcus
    
    Signed-Off-By: Marcus Meissner <meissner at suse.de>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>
    Signed-off-by: Joel Becker <jlbec at evilplan.org>

commit e3ce663e582713c8693b89ce8d7470cb6071f59c
Author: Tao Ma <boyu.mt at taobao.com>
Date:   Sat Nov 12 21:43:33 2011 -0800

    ocfs2: Little refactoring against ocfs2_iget.
    
    Mainline commit 6218b90e7669d83cb8ad744f3400205d260597f2
    
    ocfs2_iget is used to get/create inode. Only iget5_locked
    will give us an inode = NULL. So move this check ahead of
    ocfs2_read_locked_inode so that we don't need to check
    inode before we read and unlock inode. This is also helpful
    for trace event(see the next patch).
    
    Signed-off-by: Tao Ma <boyu.mt at taobao.com>

commit 8c38356d23c4286311b94a3581af1ef6043d2fd6
Author: Tao Ma <boyu.mt at taobao.com>
Date:   Sat Nov 12 21:43:52 2011 -0800

    ocfs2: optimize ocfs2_check_dir_entry() with unlikely() annotations
    
    Mainline commit 1dd9ffc827b8591aabcf5fea6ea83b69e846deb9
    
    In cad3f00, ext4_check_dir_entry was modified by adding some unlikely.
    Ted described it as "This function gets called a lot for large
    directories, and the answer is almost always 'no, no, there's no problem'.
    This means using unlikely() is a good thing."
    ext3 added the similar change in commit a4ae309.
    
    So change it accordingly in ocfs2.
    
    Cc: Joel Becker <jlbec at evilplan.org>
    Signed-off-by: Tao Ma <boyu.mt at taobao.com>
    Signed-off-by: Joel Becker <jlbec at evilplan.org>

commit 125f17362f276db23132d987ddd1f41f56cd7e85
Author: Tao Ma <boyu.mt at taobao.com>
Date:   Sat Nov 12 21:44:05 2011 -0800

    ocfs2: Release buffer_head in case of error in ocfs2_double_lock.
    
    Mainline commit 1e6d9153df27923649976554d034a69ac7b28f95
    
    In ocfs2_double_lock, when ocfs2_inode_lock for inode1 fails, we
    just unlock inode2 and return without releasing buffer we get from
    inode_lock(inode2). The good thing is that it is freed by the only
    caller ocfs2_rename when it exits.
    
    But I don't think this is a right way for error handling. We should
    free the buffer_head we get in ocfs2_double_lock before exit so that
    the caller doesn't need to take care of it.
    
    Signed-off-by: Tao Ma <boyu.mt at taobao.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 9100ffcbb8b763ffcaf46f551a0f55db9e7d2635
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Sat Nov 12 21:44:21 2011 -0800

    ocfs2/cluster: Pin the remote node item in configfs
    
    Mainline commit 2b190ce9bf923fb1fd8ccff18e9bab72da40da06
    
    o2net pins the node item of the remote node in configfs before initiating
    the connection. It is unpinned on disconnect. This is to prevent the node
    item from being unlinked while it is still in use.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit d44ec86c532476acc7b0e4787a1de466ee97baa7
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date:   Sat Nov 12 21:45:35 2011 -0800

    ocfs2: validate bg_free_bits_count after update
    
    Mainline commit 9b5cd10e4c14a1a642076ace6a73be3d33c91fb6
    
    This patch adds a safe check to ensure bg_free_bits_count doesn't exceed
    bg_bits in a group descriptor. This is to avoid on disk corruption that was
    seen recently.
    
    debugfs: group <52803072>
           Group Chain: 179   Parent Inode: 11  Generation: 2959379682
           CRC32: 00000000   ECC: 0000
           ##   Block#            Total    Used     Free     Contig   Size
           0    52803072          32256    4294965350   34202    18207    4032
           ......
    
    Signed-off-by: Srinivas Eeda <srinivas.eeda at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 49d03f249137df98054f0244d46e10dd60ec5319
Author: Tao Ma <tao.ma at oracle.com>
Date:   Sat Nov 12 21:45:18 2011 -0800

    ocfs2: Use cpu_to_le16 for e_leaf_clusters in ocfs2_bg_discontig_add_extent.
    
    Mainline commit 47dea423799d98c53793237ab386a94976f305d5
    
    e_leaf_clusters is a le16, so use cpu_to_le16 instead
    of cpu_to_le32.
    
    What's more, we change 'clusters' to unsigned int to
    signify that the size of 'clusters' isn't important here.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 7ede0dd846080c61196db4f2723e276605519add
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Nov 12 21:45:38 2011 -0800

    ocfs2: Initialize the bktcnt variable properly, and call it bucket_count
    
    Mainline commit 93f3b86fb1bd0ad7b4a5eb1ad1fdae2b290633b7
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit c692cca650afa9896f27be3ca157947c545e4701
Author: Tao Ma <tao.ma at oracle.com>
Date:   Sat Nov 12 21:46:29 2011 -0800

    ocfs2: Remove obsolete comments before ocfs2_start_trans.
    
    Mainline commit 17ae521158d6fe89cfdd00a9990aa40d02e81391
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 81f32fd63424c743642f63e9e41c5a6a42d974c7
Author: Tao Ma <tao.ma at oracle.com>
Date:   Sat Nov 12 21:46:06 2011 -0800

    ocfs2: Remove unused old_id in ocfs2_commit_cache.
    
    Mainline commit f9c57ada32ea3f2e12600cf274035fff063b2e0f
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit d0f55f0a0823534dd26c57185764cd2b5f01d0ba
Author: Tao Ma <tao.ma at oracle.com>
Date:   Sat Nov 12 21:46:57 2011 -0800

    ocfs2: Add some trace log for orphan scan.
    
    Mainline commit 3c3f20c9813391ba4004764072989744395cf405
    
    Now orphan scan worker has no trace log, so it is
    very hard to tell whether it is finished or blocked.
    So add 2 mlog trace log so that we can tell whether
    the current orphan scan worker is blocked or not.
    It does help when I analyzed a orphan scan bug.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 1ff890f24877ad28ea1830caf5cb4bc6254e418f
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Sat Nov 12 19:32:42 2011 -0800

    ocfs2/dlm: dlmlock_remote() needs to account for remastery
    
    In dlmlock_remote(), we wait for the resource to stop being active before
    setting the inprogress flag. Active includes recovery, migration, etc.
    
    The problem here is that if the resource was being recovered or migrated, the
    new owner could very well be that node itself (and thus not a remote node).
    This problem was observed in Oracle bug#12583620. The error messages observed
    were as follows:
    
    dlm_send_remote_lock_request:337 ERROR: Error -40 (ELOOP) when sending message 503 (key 0xd6d8c7) to node 2
    dlmlock_remote:271 ERROR: dlm status = DLM_BADARGS
    dlmlock:751 ERROR: dlm status = DLM_BADARGS
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 545109f8e9887e63443cd55e6d1881520d997bb6
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Sat Nov 12 17:41:00 2011 -0800

    ocfs2/dlm: Take inflight reference count for remotely mastered resources too
    
    The inflight reference count, in the lock resource, is taken to pin the resource
    in memory. We take it when a new resource is created and release it after a
    lock is attached to it. We do this to prevent the resource from getting purged
    prematurely.
    
    Earlier this reference count was being taken for locally mastered resources
    only. This patch extends the same functionality for remotely mastered ones.
    
    We are doing this because the same premature purging could occur for remotely
    mastered resources if the remote node were to die before completion of the
    create lock.
    
    Fix for Oracle bug#12405575.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit a105e47950c2432cd0e4a6ce201d7465bc3f6efc
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date:   Sat Nov 12 17:43:18 2011 -0800

    ocfs2: Wakeup down convert thread just after clearing OCFS2_LOCK_UPCONVERT_FINISHING
    
    From Wengang Wang <wen.gang.wang at oracle.com>
    
    When the lockres state UPCONVERT_FINISHING is cleared,
    we should wake up the downconvert thread incase that lockres
    is in the blocked queue. Currently we are not doing so and thus
    are at the mercy of another event waking up the dc thread.
    
    
    Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>

commit 90d8ada7a524d6632902c67e7840e37374e4d86a
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Sat Nov 12 19:19:20 2011 -0800

    ocfs2/dlm: Hard code the values for enums
    
    Mainline commit 079ffb743c622fe2189b75614427c56e8391498b
    
    In o2dlm, the enumerated message values are part of the protocol.
    The patch hard codes each value so as to reduce the chance of an editing
    error causing a protocol mismatch.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 8471a90b989194fd6daf51f1ec9495bfd1f0125b
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Sat Nov 12 17:47:47 2011 -0800

    ocfs2/dlm: Minor cleanup
    
    Mainline commit 37096a7927decb0b1d3c2514b8adb4583a834112
    
    Patch makes use of task_pid_nr(). Also removes the null check before calling
    debugfs_remove().
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 012ef4e2a721bd52679c9c6a218dc7f1913bc51c
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Sat Nov 12 17:47:54 2011 -0800

    ocfs2/dlm: Cleanup dlmdebug.c
    
    Mainline commit 02bd9c394ef64a16a313eb4d968a94b7000c5d00
    
    Remove struct debug_buffer in dlmdebug.c/h.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit bf86102f0810cb2cd9dc420b1007a582df28cb0e
Author: Wengang Wang <wen.gang.wang at oracle.com>
Date:   Sat Nov 12 17:47:58 2011 -0800

    ocfs2/dlm: make existing convertion precedent over new lock
    
    Mainline commit 66f4500573fe5a1b455e5f7b30068a623a94117f
    
    Make existing convertion precedent over new lock. It makes o2dlm locking more
    like fair locking.
    
    Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 0033452f3fc944f6a529f9c00393d86269c465f7
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Sat Nov 12 17:48:04 2011 -0800

    ocfs2/dlm: Cleanup mlogs in dlmthread.c, dlmast.c and dlmdomain.c
    
    Mainline commit 8e17d16f401f7c60908726e070bfa5cbdf31e2f3
    
    Add the domain name and the resource name in the mlogs.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

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

Summary of changes:
 configure.in                |    2 +-
 fs/ocfs2/alloc.c            |    2 +-
 fs/ocfs2/aops.c             |    7 ++
 fs/ocfs2/cluster/netdebug.c |   20 ++---
 fs/ocfs2/cluster/tcp.c      |    9 ++
 fs/ocfs2/dir.c              |   17 ++--
 fs/ocfs2/dlm/dlmast.c       |   76 +++++++++++-----
 fs/ocfs2/dlm/dlmcommon.h    |   82 +++++++++---------
 fs/ocfs2/dlm/dlmdebug.c     |  208 ++++++++++++++++---------------------------
 fs/ocfs2/dlm/dlmdebug.h     |    5 -
 fs/ocfs2/dlm/dlmdomain.c    |    2 -
 fs/ocfs2/dlm/dlmlock.c      |   31 ++++---
 fs/ocfs2/dlm/dlmmaster.c    |   44 +++------
 fs/ocfs2/dlm/dlmthread.c    |  144 ++++++++++++++++--------------
 fs/ocfs2/dlmglue.c          |    8 ++
 fs/ocfs2/file.c             |    4 +-
 fs/ocfs2/inode.c            |   11 ++-
 fs/ocfs2/ioctl.c            |    3 +-
 fs/ocfs2/journal.c          |   12 ++-
 fs/ocfs2/namei.c            |    5 +-
 fs/ocfs2/suballoc.c         |   21 ++++-
 21 files changed, 361 insertions(+), 352 deletions(-)


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



More information about the Ocfs2-commits mailing list