1. 12 May, 2010 2 commits
  2. 10 May, 2010 1 commit
    • Abhijith Das's avatar
      GFS2: Fix writing to non-page aligned gfs2_quota structures · 7e619bc3
      Abhijith Das authored
      This is the upstream fix for this bug. This patch differs
      from the RHEL5 fix (Red Hat bz #555754) which simply writes to the 8-byte
      value field of the quota. In upstream quota code, we're
      required to write the entire quota (88 bytes) which can be split
      across a page boundary. We check for such quotas, and read/write
      the two parts from/to the corresponding pages holding these parts.
      
      With this patch, I don't see the bug anymore using the reproducer
      in Red Hat bz 555754. I successfully ran a couple of simple tests/mounts/
      umounts and it doesn't seem like this patch breaks anything else.
      Signed-off-by: default avatarAbhi Das <adas@redhat.com>
      Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      7e619bc3
  3. 06 May, 2010 1 commit
    • Steven Whitehouse's avatar
      GFS2: Add some useful messages · 913a71d2
      Steven Whitehouse authored
      The following patch adds a message to indicate when barriers have been
      disabled due to a block device which doesn't support them. You could
      already tell this via the mount options in /proc/mounts, but all the
      other filesystems also log a message at the same time.
      
      Also, the same mechanisms are used to indicate when the lock
      demote interface has been used (only ever used for debugging)
      which is a request from our support team.
      Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      913a71d2
  4. 05 May, 2010 2 commits
    • Christoph Hellwig's avatar
      GFS2: fix quota state reporting · ad6bb90f
      Christoph Hellwig authored
      We need to report both the accounting and enforcing flags if we are
      in enforcing mode.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      ad6bb90f
    • Benjamin Marzinski's avatar
      GFS2: Various gfs2_logd improvements · 5e687eac
      Benjamin Marzinski authored
      This patch contains various tweaks to how log flushes and active item writeback
      work. gfs2_logd is now managed by a waitqueue, and gfs2_log_reseve now waits
      for gfs2_logd to do the log flushing.  Multiple functions were rewritten to
      remove the need to call gfs2_log_lock(). Instead of using one test to see if
      gfs2_logd had work to do, there are now seperate tests to check if there
      are two many buffers in the incore log or if there are two many items on the
      active items list.
      
      This patch is a port of a patch Steve Whitehouse wrote about a year ago, with
      some minor changes.  Since gfs2_ail1_start always submits all the active items,
      it no longer needs to keep track of the first ai submitted, so this has been
      removed. In gfs2_log_reserve(), the order of the calls to
      prepare_to_wait_exclusive() and wake_up() when firing off the logd thread has
      been switched.  If it called wake_up first there was a small window for a race,
      where logd could run and return before gfs2_log_reserve was ready to get woken
      up. If gfs2_logd ran, but did not free up enough blocks, gfs2_log_reserve()
      would be left waiting for gfs2_logd to eventualy run because it timed out.
      Finally, gt_logd_secs, which controls how long to wait before gfs2_logd times
      out, and flushes the log, can now be set on mount with ar_commit.
      Signed-off-by: default avatarBenjamin Marzinski <bmarzins@redhat.com>
      Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      5e687eac
  5. 14 Apr, 2010 1 commit
    • Bob Peterson's avatar
      GFS2: glock livelock · 1a0eae88
      Bob Peterson authored
      This patch fixes a couple gfs2 problems with the reclaiming of
      unlinked dinodes.  First, there were a couple of livelocks where
      everything would come to a halt waiting for a glock that was
      seemingly held by a process that no longer existed.  In fact, the
      process did exist, it just had the wrong pid number in the holder
      information.  Second, there was a lock ordering problem between
      inode locking and glock locking.  Third, glock/inode contention
      could sometimes cause inodes to be improperly marked invalid by
      iget_failed.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      1a0eae88
  6. 29 Mar, 2010 3 commits
  7. 26 Mar, 2010 13 commits
  8. 25 Mar, 2010 17 commits