1. 17 8月, 2007 16 次提交
  2. 15 8月, 2007 17 次提交
  3. 14 8月, 2007 7 次提交
    • S
      [GFS2] Revert remounting w/o acl option leaves acls enabled · d18c4d68
      Steven Whitehouse 提交于
      This reverts commit 569a7b6c. The
      code was correct originally. The default setting for ACLs after a
      remount should be to be the same as before the remount.
      Signed-off-by: NAbhijith Das <adas@redhat.com>
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      d18c4d68
    • S
      [GFS2] Fix setting of inherit jdata attr · b9af7ca6
      Steven Whitehouse 提交于
      Due to a mix up between the jdata attribute and inherit jdata attribute
      it has not been possible to set the inherit jdata attribute on
      directories. This is now fixed and the ioctl will report the inherit
      jdata attribute for directories rather than the jdata attribute as it
      did previously. This stems from our need to have the one bit in the
      ioctl attr flags mean two different things according to whether the
      underlying inode is a directory or not.
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      b9af7ca6
    • S
      [GFS2] Fix incorrect error path in prepare_write() · a867bb28
      Steven Whitehouse 提交于
      The error path in prepare_write() was incorrect in the (very rare) event
      that the transaction fails to start. The following prevents a NULL
      pointer dereference,
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      a867bb28
    • S
      [GFS2] Fix incorrect return code in rgrp.c · 6eefaf61
      Steven Whitehouse 提交于
      The following patch fixes a bug where 0 was being used as a return code
      to indicate "nothing to do" when in fact 0 was a valid block location
      which might be returned by the function.
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      6eefaf61
    • B
      [GFS2] soft lockup in rgblk_search · 24c73873
      Bob Peterson 提交于
      This patch seems to fix the problem described in bugzilla bug 246114.
      It was written by Steve Whitehouse with some tweaking by me.
      
      The code was looping in the relatively new section of code designed to
      search for and reuse unlinked inodes.  In cases where it was finding an
      appropriate inode to reuse, it was looping around and finding the same
      block over and over because a "<=" check should have been a "<" when
      comparing the goal block to the last unlinked block found.
      Signed-off-by: NBob Peterson <rpeterso@redhat.com>
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      24c73873
    • B
      [GFS2] soft lockup detected in databuf_lo_before_commit · bdcb8856
      Bob Peterson 提交于
      This is part 2 of the patch for bug #245832, part 1 of which is already
      in the git tree.
      
      The problem was that sdp->sd_log_num_databuf was not always being
      protected by the gfs2_log_lock spinlock, but the sd_log_le_databuf
      (which it is supposed to reflect) was protected.  That meant there
      was a timing window during which gfs2_log_flush called
      databuf_lo_before_commit and the count didn't match what was
      really on the linked list in that window.  So when it ran out of
      items on the linked list, it decremented total_dbuf from 0 to -1 and
      thus never left the "while(total_dbuf)" loop.
      
      The solution is to protect the variable sdp->sd_log_num_databuf so
      that the value will always match the contents of the linked list,
      and therefore the number will never go negative, and therefore, the
      loop will be exited properly.
      Signed-off-by: NBob Peterson <rpeterso@redhat.com>
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      bdcb8856
    • D
      [DLM] fix basts for granted PR waiting CW · 36509258
      David Teigland 提交于
      Fix a long standing bug where a blocking callback would be missed
      when there's a granted lock in PR mode and waiting locks in both
      PR and CW modes (and the PR lock was added to the waiting queue
      before the CW lock).  The logic simply compared the numerical values
      of the modes to determine if a blocking callback was required, but in
      the one case of PR and CW, the lower valued CW mode blocks the higher
      valued PR mode.  We just need to add a special check for this PR/CW
      case in the tests that decide when a blocking callback is needed.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      36509258