1. 25 Jun, 2014 16 commits
  2. 24 Jun, 2014 20 commits
  3. 23 Jun, 2014 4 commits
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew Morton) · 04b5da4a
      Linus Torvalds authored
      Merge fixes from Andrew Morton:
       "The nmi patch and watchdog patch aren't actually fixes - they're
        features which needed a few last-minutes touchups.
      
        Otherwise, a rather large batch of fixes - ocfs2 review takes a while
        and I got distracted and missed last week's batch"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (31 commits)
        ocfs2/dlm: do not purge lockres that is queued for assert master
        ocfs2: do not return DLM_MIGRATE_RESPONSE_MASTERY_REF to avoid endless,loop during umount
        ocfs2: manually do the iput once ocfs2_add_entry failed in ocfs2_symlink and ocfs2_mknod
        ocfs2: fix a tiny race when running dirop_fileop_racer
        ocfs2/dlm: fix misuse of list_move_tail() in dlm_run_purge_list()
        ocfs2: refcount: take rw_lock in ocfs2_reflink
        ocfs2: revert "ocfs2: fix NULL pointer dereference when dismount and ocfs2rec simultaneously"
        ocfs2: fix deadlock when two nodes are converting same lock from PR to EX and idletimeout closes conn
        ocfs2: should add inode into orphan dir after updating entry in ocfs2_rename()
        mm: fix crashes from mbind() merging vmas
        checkpatch: reduce false positives when checking void function return statements
        ia64: arch/ia64/include/uapi/asm/fcntl.h needs personality.h
        DMA, CMA: fix possible memory leak
        slab: fix oops when reading /proc/slab_allocators
        shmem: fix faulting into a hole while it's punched
        mm: let mm_find_pmd fix buggy race with THP fault
        mm: thp: fix DEBUG_PAGEALLOC oops in copy_page_rep()
        kernel/watchdog.c: print traces for all cpus on lockup detection
        nmi: provide the option to issue an NMI back trace to every cpu but current
        Documentation/accounting/getdelays.c: add missing null-terminate after strncpy call
        ...
      04b5da4a
    • Xue jiufei's avatar
      ocfs2/dlm: do not purge lockres that is queued for assert master · ac4fef4d
      Xue jiufei authored
      When workqueue is delayed, it may occur that a lockres is purged while it
      is still queued for master assert.  it may trigger BUG() as follows.
      
      N1                                         N2
      dlm_get_lockres()
      ->dlm_do_master_requery
                                        is the master of lockres,
                                        so queue assert_master work
      
                                        dlm_thread() start running
                                        and purge the lockres
      
                                        dlm_assert_master_worker()
                                        send assert master message
                                        to other nodes
      receiving the assert_master
      message, set master to N2
      
      dlmlock_remote() send create_lock message to N2, but receive DLM_IVLOCKID,
      if it is RECOVERY lockres, it triggers the BUG().
      
      Another BUG() is triggered when N3 become the new master and send
      assert_master to N1, N1 will trigger the BUG() because owner doesn't
      match.  So we should not purge lockres when it is queued for assert
      master.
      Signed-off-by: default avatarjoyce.xue <xuejiufei@huawei.com>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ac4fef4d
    • jiangyiwen's avatar
      ocfs2: do not return DLM_MIGRATE_RESPONSE_MASTERY_REF to avoid endless,loop during umount · b9aaac5a
      jiangyiwen authored
      The following case may lead to endless loop during umount.
      
      node A         node B               node C       node D
      umount volume,
      migrate lockres1
      to B
                                                       want to lock lockres1,
                                                       send
                                                       MASTER_REQUEST_MSG
                                                       to C
                                          init block mle
                     send
                     MIGRATE_REQUEST_MSG
                     to C
                                          find a block
                                          mle, and then
                                          return
                                          DLM_MIGRATE_RESPONSE_MASTERY_REF
                                          to B
                     set C in refmap
                                          umount successfully
                     try to umount, endless
                     loop occurs when migrate
                     lockres1 since C is in
                     refmap
      
      So we can fix this endless loop case by only returning
      DLM_MIGRATE_RESPONSE_MASTERY_REF if it has a mastery mle when receiving
      MIGRATE_REQUEST_MSG.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: default avatarjiangyiwen <jiangyiwen@huawei.com>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Xue jiufei <xuejiufei@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b9aaac5a
    • jiangyiwen's avatar
      ocfs2: manually do the iput once ocfs2_add_entry failed in ocfs2_symlink and ocfs2_mknod · 595297a8
      jiangyiwen authored
      When the call to ocfs2_add_entry() failed in ocfs2_symlink() and
      ocfs2_mknod(), iput() will not be called during dput(dentry) because no
      d_instantiate(), and this will lead to umount hung.
      Signed-off-by: default avatarjiangyiwen <jiangyiwen@huawei.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      595297a8