1. 01 9月, 2006 2 次提交
    • S
      [GFS2] Update copyright, tidy up incore.h · e9fc2aa0
      Steven Whitehouse 提交于
      As per comments from Jan Engelhardt <jengelh@linux01.gwdg.de> this
      updates the copyright message to say "version" in full rather than
      "v.2". Also incore.h has been updated to remove forward structure
      declarations which are not required.
      
      The gfs2_quota_lvb structure has now had endianess annotations added
      to it. Also quota.c has been updated so that we now store the
      lvb data locally in endian independant format to avoid needing
      a structure in host endianess too. As a result the endianess
      conversions are done as required at various points and thus the
      conversion routines in lvb.[ch] are no longer required. I've
      moved the one remaining constant in lvb.h thats used into lm.h
      and removed the unused lvb.[ch].
      
      I have not changed the HIF_ constants. That is left to a later patch
      which I hope will unify the gh_flags and gh_iflags fields of the
      struct gfs2_holder.
      
      Cc: Jan Engelhardt <jengelh@linux01.gwdg.de>
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      e9fc2aa0
    • S
      [GFS2] Fix releasepage bug (fixes direct i/o writes) · 623d9355
      Steven Whitehouse 提交于
      This patch fixes three main bugs. Firstly the direct i/o get_block
      was returning the wrong return code in certain cases. Secondly, the
      GFS2's releasepage function was not dealing with cases when clean,
      ordered buffers were found still queued on a transaction (which can
      happen depending on the ordering of journal flushes). Thirdly, the
      journaling code itself needed altering to take account of the
      after effects of removing the clean ordered buffers from the transactions
      before a journal flush.
      
      The releasepage bug did also show up under "normal" buffered i/o
      as well, so its not just a fix for direct i/o. In fact its not
      normally used in the direct i/o path at all, except when flushing
      existing buffers after performing a direct i/o write, but that was
      the code path that led us to spot this.
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      623d9355
  2. 31 8月, 2006 1 次提交
  3. 30 8月, 2006 4 次提交
  4. 26 8月, 2006 1 次提交
  5. 25 8月, 2006 3 次提交
    • B
      [GFS2] Fix journal off-by-one error · 5dc39fe6
      Benjamin Marzinski 提交于
      log_refund() incorrectly assumed that if a transaction had been touched, it
      always committed buffers to the incore log. Thus, when you got around to
      flushing the log, you would need one more block than you committed, to account
      for the header. So it automatically set reserved to 1, which had the effect of
      making sdp->sd_log_blks_reserved one greater when you got to gfs2_log_flush().
      However, if you don't actually commit anything to the incore log between
      flushes, you don't need the header, because you aren't writing anything out.
      With this patch, log_refund() only increments reservered to account for the
      header if something has been committed since the last flush.
      Signed-off-by: NBenjamin E. Marzinski <bmarzins@redhat.com>
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      5dc39fe6
    • S
      [GFS2] Speed up scanning of glocks · a2242db0
      Steven Whitehouse 提交于
      I noticed the gfs2_scand seemed to be taking a lot of CPU,
      so in order to cut that down a bit, here is a patch. Firstly
      the type of a glock is a constant during its lifetime, so that
      its possible to check this without needing locking. I've moved
      the (common) case of testing for an inode glock outside of
      the glmutex lock.
      
      Also there was a mutex left over from when the glock cache was
      master of the inode cache. That isn't required any more so I've
      removed that too.
      
      There is probably scope for further speed ups in the future
      in this area.
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      a2242db0
    • S
      [GFS2] Tidy up error handling in gfs2_releasepage() · 166afccd
      Steven Whitehouse 提交于
      This should clarify the logic in gfs2_releasepage() relating to
      error handling as well as making the response to errors a bit
      more graceful.
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      166afccd
  6. 23 8月, 2006 1 次提交
  7. 22 8月, 2006 1 次提交
  8. 19 8月, 2006 1 次提交
    • S
      [GFS2] Fix leak of gfs2_bufdata · 15d00c0b
      Steven Whitehouse 提交于
      This fixes a memory leak of struct gfs2_bufdata and also some
      problems in the ordered write handling code. It needs a bit
      more testing, but I believe that the reference counting of
      ordered write buffers should now be correct.
      
      This is aimed at fixing Red Hat bugzilla: #201028 and #201082
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      15d00c0b
  9. 11 8月, 2006 1 次提交
  10. 09 8月, 2006 1 次提交
    • S
      [GFS2] Fix lack of buffers in writepage bug · f4387149
      Steven Whitehouse 提交于
      In some cases we can enter write page without there being buffers
      attached to the page. In this case the function to add gfs2_bufdata
      to the buffers fails sliently causing further failures down the
      stack.
      
      This fix ensures that we always add buffers in writepage if they
      didn't already exist (mmap is one way to trigger this).
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      f4387149
  11. 07 8月, 2006 3 次提交
  12. 05 8月, 2006 1 次提交
    • S
      [GFS2] Fix lock ordering bug in page fault path · 59a1cc6b
      Steven Whitehouse 提交于
      Mmapped files were able to trigger a lock ordering bug. Private
      maps do not need to take the glock so early on. Shared maps do
      unfortunately, however we can get around that by adding a flag
      into the flags for the struct gfs2_file. This only works because
      we are taking an exclusive lock at this point, so we know that
      nobody else can be racing with us.
      
      Fixes Red Hat bugzilla: #201196
      Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
      59a1cc6b
  13. 02 8月, 2006 1 次提交
  14. 01 8月, 2006 2 次提交
  15. 29 7月, 2006 1 次提交
  16. 28 7月, 2006 3 次提交
  17. 26 7月, 2006 3 次提交
  18. 21 7月, 2006 2 次提交
  19. 17 7月, 2006 2 次提交
  20. 13 7月, 2006 1 次提交
  21. 12 7月, 2006 1 次提交
  22. 11 7月, 2006 4 次提交