[Ocfs2-commits] branch, master, updated. 16b2be95c13b847f78893b86a302bcad57e3d131

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Tue Oct 12 10:46:11 PDT 2010


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.8".

The branch, master has been updated
       via  16b2be95c13b847f78893b86a302bcad57e3d131 (commit)
       via  a6a2672af0b1341aae4706b969ff020fd944c595 (commit)
       via  2ffccef7dd9e5d48495a136b71e32f45f25fb67e (commit)
       via  a3d33fa4009d44bf82d4ff645bfb1f31fefa248e (commit)
       via  eaab379e48ccc2c4cd9e36d4d6101d385d8d17a1 (commit)
       via  3f22e11ce03e2547226542da2eb89954ee5b80a4 (commit)
       via  dc0c24bf9620aef4c08450554b0b32aa72f356d0 (commit)
       via  5609fb8abaa291aeb116ab9b34f6419498f0cefc (commit)
       via  e552e2e4d6d7b5b852e5b9c0b8c87e074b8337e3 (commit)
       via  47887e0f1fc1364747f09210e47c6d8a0ecfa33d (commit)
       via  d90fafc3e51c908d77f360920ed089bbe1571d58 (commit)
      from  758bc063051a8911420596fc49efe9202f104b20 (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 16b2be95c13b847f78893b86a302bcad57e3d131
Author: Joel Becker <joel.becker at oracle.com>
Date:   Tue Oct 12 10:31:54 2010 -0700

    ocfs2: Don't walk off the end of fast symlinks.
    
    Mainline commit 1fc8a117865b54590acd773a55fbac9221b018f0
    
    ocfs2 fast symlinks are NUL terminated strings stored inline in the
    inode data area.  However, disk corruption or a local attacker could, in
    theory, remove that NUL.  Because we're using strlen() (my fault,
    introduced in a731d1 when removing vfs_follow_link()), we could walk off
    the end of that string.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Cc: stable at kernel.org

commit a6a2672af0b1341aae4706b969ff020fd944c595
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date:   Tue Oct 12 10:30:50 2010 -0700

    o2dlm: force free mles during dlm exit
    
    Mainline commit 5dad6c39d156fbbde0b0ef170d9173feffdeb546
    
    While umounting, a block mle doesn't get freed if dlm is shutdown after
    master request is received but before assert master. This results in unclean
    shutdown of dlm domain.
    
    This patch frees all mles that lie around after other nodes were notified about
    exiting the dlm and marking dlm state as leaving. Only block mles are expected
    to be around, so we log ERROR for other mles but still free them.
    
    Signed-off-by: Srinivas Eeda <srinivas.eeda at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 2ffccef7dd9e5d48495a136b71e32f45f25fb67e
Author: Tao Ma <tao.ma at oracle.com>
Date:   Tue Oct 12 10:33:03 2010 -0700

    ocfs2: Sync inode flags with ext2.
    
    Mainline commit 0000b862027d624ac564609b87c1aa4d14dd1e46
    
    We sync our inode flags with ext2 and define them by hex
    values. But actually in commit 3669567(4 years ago), all
    these values are moved to include/linux/fs.h. So we'd
    better also use them as what ext2 did. So sync our inode
    flags with ext2 by using FS_*.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit a3d33fa4009d44bf82d4ff645bfb1f31fefa248e
Author: Tao Ma <tao.ma at oracle.com>
Date:   Tue Oct 12 10:32:57 2010 -0700

    ocfs2: Move 'wanted' into parens of ocfs2_resmap_resv_bits.
    
    Mainline commit 4a452de4fdfe4dbb27e491904d8bfaf1262bdff4
    
    The first time I read the function ocfs2_resmap_resv_bits, I consider
    about what 'wanted' will be used and consider about the comments.
    Then I find it is only used if the reservation is empty. ;)
    
    So we'd better move it to the parens so that it make the code more
    readable, what's more, ocfs2_resmap_resv_bits is used so frequently
    and we should save some cpus.
    
    Acked-by: Mark Fasheh <mfasheh at suse.com>
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit eaab379e48ccc2c4cd9e36d4d6101d385d8d17a1
Author: Tao Ma <tao.ma at oracle.com>
Date:   Tue Oct 12 10:32:51 2010 -0700

    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 3f22e11ce03e2547226542da2eb89954ee5b80a4
Author: Tao Ma <tao.ma at oracle.com>
Date:   Tue Oct 12 10:32:45 2010 -0700

    ocfs2: update ctime when changing the file's permission by setfacl
    
    Mainline commit 12828061cdacfb1db3eb03fd71952d5ebc555bbb
    
    In commit 30e2bab, ext3 fixed it. So change it accordingly in ocfs2.
    
    Steps to reproduce:
    # touch aaa
    # stat -c %Z aaa
    1283760364
    # setfacl -m  'u::x,g::x,o::x' aaa
    # stat -c %Z aaa
    1283760364
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit dc0c24bf9620aef4c08450554b0b32aa72f356d0
Author: Wu Fengguang <fengguang.wu at intel.com>
Date:   Tue Oct 12 10:32:35 2010 -0700

    ocfs2/net: fix uninitialized ret in o2net_send_message_vec()
    
    Mainline commit 50aff040363d31f87e94f38f1710973d99489951
    
    mmotm/fs/ocfs2/cluster/tcp.c: In function ‘o2net_send_message_vec’:
    mmotm/fs/ocfs2/cluster/tcp.c:980:6: warning: ‘ret’ may be used uninitialized in this function
    
    It seems a real bug introduced by commit 9af0b38ff3 (ocfs2/net:
    Use wait_event() in o2net_send_message_vec()).
    
    cc: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 5609fb8abaa291aeb116ab9b34f6419498f0cefc
Author: Tristan Ye <tristan.ye at oracle.com>
Date:   Tue Oct 12 10:32:24 2010 -0700

    Ocfs2: Handle empty list in lockres_seq_start() for dlmdebug.c
    
    Mainline commit 228ac6357718df2d5c8d70210fa51b2225aab5ee
    
    This patch tries to handle the case in which list 'dlm->tracking_list' is
    empty, to avoid accessing an invalid pointer. It fixes the following oops:
    
    http://oss.oracle.com/bugzilla/show_bug.cgi?id=1287
    
    Signed-off-by: Tristan Ye <tristan.ye at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit e552e2e4d6d7b5b852e5b9c0b8c87e074b8337e3
Author: Tristan Ye <tristan.ye at oracle.com>
Date:   Tue Oct 12 10:32:18 2010 -0700

    Ocfs2: Re-access the journal after ocfs2_insert_extent() in dxdir codes.
    
    Mainline commit 0f4da216b8c3c35c90ecd18e1899c6f125957c2b
    
    In ocfs2_dx_dir_rebalance(), we need to rejournal_acess the blocks after
    calling ocfs2_insert_extent() since growing an extent tree may trigger
    ocfs2_extend_trans(), which makes previous journal_access meaningless.
    
    Signed-off-by: Tristan Ye <tristan.ye at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 47887e0f1fc1364747f09210e47c6d8a0ecfa33d
Author: Tao Ma <tao.ma at oracle.com>
Date:   Tue Oct 12 10:32:11 2010 -0700

    ocfs2: Fix lockdep warning in reflink.
    
    Mainline commit 07eaac9438b13ec0b863111698b91ccec8f3b8d4
    
    This patch change mutex_lock to a new subclass and
    add a new inode lock subclass for the target inode
    which caused this lockdep warning.
    
    =============================================
    [ INFO: possible recursive locking detected ]
    2.6.35+ #5
    ---------------------------------------------
    reflink/11086 is trying to acquire lock:
     (Meta){+++++.}, at: [<ffffffffa06f9d65>] ocfs2_reflink_ioctl+0x898/0x1229 [ocfs2]
    
    but task is already holding lock:
     (Meta){+++++.}, at: [<ffffffffa06f9aa0>] ocfs2_reflink_ioctl+0x5d3/0x1229 [ocfs2]
    
    other info that might help us debug this:
    6 locks held by reflink/11086:
     #0:  (&sb->s_type->i_mutex_key#15/1){+.+.+.}, at: [<ffffffff820e09ec>] lookup_create+0x26/0x97
     #1:  (&sb->s_type->i_mutex_key#15){+.+.+.}, at: [<ffffffffa06f99a0>] ocfs2_reflink_ioctl+0x4d3/0x1229 [ocfs2]
     #2:  (Meta){+++++.}, at: [<ffffffffa06f9aa0>] ocfs2_reflink_ioctl+0x5d3/0x1229 [ocfs2]
     #3:  (&oi->ip_xattr_sem){+.+.+.}, at: [<ffffffffa06f9b58>] ocfs2_reflink_ioctl+0x68b/0x1229 [ocfs2]
     #4:  (&oi->ip_alloc_sem){+.+.+.}, at: [<ffffffffa06f9b67>] ocfs2_reflink_ioctl+0x69a/0x1229 [ocfs2]
     #5:  (&sb->s_type->i_mutex_key#15/2){+.+...}, at: [<ffffffffa06f9d4f>] ocfs2_reflink_ioctl+0x882/0x1229 [ocfs2]
    
    stack backtrace:
    Pid: 11086, comm: reflink Not tainted 2.6.35+ #5
    Call Trace:
     [<ffffffff82063dd9>] validate_chain+0x56e/0xd68
     [<ffffffff82062275>] ? mark_held_locks+0x49/0x69
     [<ffffffff82064d6d>] __lock_acquire+0x79a/0x7f1
     [<ffffffff82065a81>] lock_acquire+0xc6/0xed
     [<ffffffffa06f9d65>] ? ocfs2_reflink_ioctl+0x898/0x1229 [ocfs2]
     [<ffffffffa06c9ade>] __ocfs2_cluster_lock+0x975/0xa0d [ocfs2]
     [<ffffffffa06f9d65>] ? ocfs2_reflink_ioctl+0x898/0x1229 [ocfs2]
     [<ffffffffa06e107b>] ? ocfs2_wait_for_recovery+0x15/0x8a [ocfs2]
     [<ffffffffa06cb6ea>] ocfs2_inode_lock_full_nested+0x1ac/0xdc5 [ocfs2]
     [<ffffffffa06f9d65>] ? ocfs2_reflink_ioctl+0x898/0x1229 [ocfs2]
     [<ffffffff820623a0>] ? trace_hardirqs_on_caller+0x10b/0x12f
     [<ffffffff82060193>] ? debug_mutex_free_waiter+0x4f/0x53
     [<ffffffffa06f9d65>] ocfs2_reflink_ioctl+0x898/0x1229 [ocfs2]
     [<ffffffffa06ce24a>] ? ocfs2_file_lock_res_init+0x66/0x78 [ocfs2]
     [<ffffffff820bb2d2>] ? might_fault+0x40/0x8d
     [<ffffffffa06df9f6>] ocfs2_ioctl+0x61a/0x656 [ocfs2]
     [<ffffffff820ee5d3>] ? mntput_no_expire+0x1d/0xb0
     [<ffffffff820e07b3>] ? path_put+0x2c/0x31
     [<ffffffff820e53ac>] vfs_ioctl+0x2a/0x9d
     [<ffffffff820e5903>] do_vfs_ioctl+0x45d/0x4ae
     [<ffffffff8233a7f6>] ? _raw_spin_unlock+0x26/0x2a
     [<ffffffff8200299c>] ? sysret_check+0x27/0x62
     [<ffffffff820e59ab>] sys_ioctl+0x57/0x7a
     [<ffffffff8200296b>] system_call_fastpath+0x16/0x1b
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit d90fafc3e51c908d77f360920ed089bbe1571d58
Author: Tao Ma <tao.ma at oracle.com>
Date:   Tue Oct 12 10:32:03 2010 -0700

    ocfs2/lockdep: Move ip_xattr_sem out of ocfs2_xattr_get_nolock.
    
    Mainline commit 5e64b0d9e86ffff8b299556341d85319117539e9
    
    As the name shows, we shouldn't have any lock in
    ocfs2_xattr_get_nolock. so lift ip_xattr_sem to the caller.
    This should be safe for us since the only 2 callers are:
    1. ocfs2_xattr_get which will lock the resources.
    2. ocfs2_mknod which don't need this locking.
    
    And this also resolves the following lockdep warning.
    
    =======================================================
    [ INFO: possible circular locking dependency detected ]
    2.6.35+ #5
    -------------------------------------------------------
    reflink/30027 is trying to acquire lock:
     (&oi->ip_alloc_sem){+.+.+.}, at: [<ffffffffa0673b67>] ocfs2_reflink_ioctl+0x69a/0x1226 [ocfs2]
    
    but task is already holding lock:
     (&oi->ip_xattr_sem){++++..}, at: [<ffffffffa0673b58>] ocfs2_reflink_ioctl+0x68b/0x1226 [ocfs2]
    
    which lock already depends on the new lock.
    
    the existing dependency chain (in reverse order) is:
    
    -> #3 (&oi->ip_xattr_sem){++++..}:
           [<ffffffff82064d6d>] __lock_acquire+0x79a/0x7f1
           [<ffffffff82065a81>] lock_acquire+0xc6/0xed
           [<ffffffff82339650>] down_read+0x34/0x47
           [<ffffffffa0691cb8>] ocfs2_xattr_get_nolock+0xa0/0x4e6 [ocfs2]
           [<ffffffffa069d64f>] ocfs2_get_acl_nolock+0x5c/0x132 [ocfs2]
           [<ffffffffa069d9c7>] ocfs2_init_acl+0x60/0x243 [ocfs2]
           [<ffffffffa066499d>] ocfs2_mknod+0xae8/0xfea [ocfs2]
           [<ffffffffa0665041>] ocfs2_create+0x9d/0x105 [ocfs2]
           [<ffffffff820e1c83>] vfs_create+0x9b/0xf4
           [<ffffffff820e20bb>] do_last+0x2fd/0x5be
           [<ffffffff820e31c0>] do_filp_open+0x1fb/0x572
           [<ffffffff820d6cf6>] do_sys_open+0x5a/0xe7
           [<ffffffff820d6dac>] sys_open+0x1b/0x1d
           [<ffffffff8200296b>] system_call_fastpath+0x16/0x1b
    
    -> #2 (jbd2_handle){+.+...}:
           [<ffffffff82064d6d>] __lock_acquire+0x79a/0x7f1
           [<ffffffff82065a81>] lock_acquire+0xc6/0xed
           [<ffffffffa0604ff8>] start_this_handle+0x4a3/0x4bc [jbd2]
           [<ffffffffa06051d6>] jbd2__journal_start+0xba/0xee [jbd2]
           [<ffffffffa0605218>] jbd2_journal_start+0xe/0x10 [jbd2]
           [<ffffffffa065ca34>] ocfs2_start_trans+0xb7/0x19b [ocfs2]
           [<ffffffffa06645f3>] ocfs2_mknod+0x73e/0xfea [ocfs2]
           [<ffffffffa0665041>] ocfs2_create+0x9d/0x105 [ocfs2]
           [<ffffffff820e1c83>] vfs_create+0x9b/0xf4
           [<ffffffff820e20bb>] do_last+0x2fd/0x5be
           [<ffffffff820e31c0>] do_filp_open+0x1fb/0x572
           [<ffffffff820d6cf6>] do_sys_open+0x5a/0xe7
           [<ffffffff820d6dac>] sys_open+0x1b/0x1d
           [<ffffffff8200296b>] system_call_fastpath+0x16/0x1b
    
    -> #1 (&journal->j_trans_barrier){.+.+..}:
           [<ffffffff82064d6d>] __lock_acquire+0x79a/0x7f1
           [<ffffffff82064fa9>] lock_release_non_nested+0x1e5/0x24b
           [<ffffffff82065999>] lock_release+0x158/0x17a
           [<ffffffff823389f6>] __mutex_unlock_slowpath+0xbf/0x11b
           [<ffffffff82338a5b>] mutex_unlock+0x9/0xb
           [<ffffffffa0679673>] ocfs2_free_ac_resource+0x31/0x67 [ocfs2]
           [<ffffffffa067c6bc>] ocfs2_free_alloc_context+0x11/0x1d [ocfs2]
           [<ffffffffa0633de0>] ocfs2_write_begin_nolock+0x141e/0x159b [ocfs2]
           [<ffffffffa0635523>] ocfs2_write_begin+0x11e/0x1e7 [ocfs2]
           [<ffffffff820a1297>] generic_file_buffered_write+0x10c/0x210
           [<ffffffffa0653624>] ocfs2_file_aio_write+0x4cc/0x6d3 [ocfs2]
           [<ffffffff820d822d>] do_sync_write+0xc2/0x106
           [<ffffffff820d897b>] vfs_write+0xae/0x131
           [<ffffffff820d8e55>] sys_write+0x47/0x6f
           [<ffffffff8200296b>] system_call_fastpath+0x16/0x1b
    
    -> #0 (&oi->ip_alloc_sem){+.+.+.}:
           [<ffffffff82063f92>] validate_chain+0x727/0xd68
           [<ffffffff82064d6d>] __lock_acquire+0x79a/0x7f1
           [<ffffffff82065a81>] lock_acquire+0xc6/0xed
           [<ffffffff82339694>] down_write+0x31/0x52
           [<ffffffffa0673b67>] ocfs2_reflink_ioctl+0x69a/0x1226 [ocfs2]
           [<ffffffffa06599f6>] ocfs2_ioctl+0x61a/0x656 [ocfs2]
           [<ffffffff820e53ac>] vfs_ioctl+0x2a/0x9d
           [<ffffffff820e5903>] do_vfs_ioctl+0x45d/0x4ae
           [<ffffffff820e59ab>] sys_ioctl+0x57/0x7a
           [<ffffffff8200296b>] system_call_fastpath+0x16/0x1b
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

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

Summary of changes:
 fs/ocfs2/acl.c           |    3 +++
 fs/ocfs2/cluster/tcp.c   |    2 +-
 fs/ocfs2/dir.c           |   24 ++++++++++++++++--------
 fs/ocfs2/dlm/dlmcommon.h |    1 +
 fs/ocfs2/dlm/dlmdebug.c  |    9 ++++++++-
 fs/ocfs2/dlm/dlmdomain.c |    1 +
 fs/ocfs2/dlm/dlmmaster.c |   40 ++++++++++++++++++++++++++++++++++++++++
 fs/ocfs2/dlmglue.h       |    1 +
 fs/ocfs2/ocfs2_fs.h      |   37 +++++++++++++++++++++++++------------
 fs/ocfs2/ocfs2_ioctl.h   |    8 ++++----
 fs/ocfs2/refcounttree.c  |    5 +++--
 fs/ocfs2/reservations.c  |   22 ++++++++++------------
 fs/ocfs2/suballoc.c      |    4 ++--
 fs/ocfs2/symlink.c       |    2 +-
 fs/ocfs2/xattr.c         |    4 ++--
 15 files changed, 118 insertions(+), 45 deletions(-)


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



More information about the Ocfs2-commits mailing list