1. 20 Jul, 2011 4 commits
    • Dave Chinner's avatar
      xfs: remove confusing ail cursor wrapper · 16b59029
      Dave Chinner authored
      xfs_trans_ail_cursor_set() doesn't set the cursor to the current log
      item, it sets it to the next item. There is already a function for
      doing this - xfs_trans_ail_cursor_next() - and the _set function is
      simply a two line wrapper.  Remove it and open code the setting of
      the cursor in the two locations that call it to remove the
      confusion.
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      16b59029
    • Dave Chinner's avatar
      xfs: use a cursor for bulk AIL insertion · 1d8c95a3
      Dave Chinner authored
      Delayed logging can insert tens of thousands of log items into the
      AIL at the same LSN. When the committing of log commit records
      occur, we can get insertions occurring at an LSN that is not at the
      end of the AIL. If there are thousands of items in the AIL on the
      tail LSN, each insertion has to walk the AIL to find the correct
      place to insert the new item into the AIL. This can consume large
      amounts of CPU time and block other operations from occurring while
      the traversals are in progress.
      
      To avoid this repeated walk, use a AIL cursor to record
      where we should be inserting the new items into the AIL without
      having to repeat the walk. The cursor infrastructure already
      provides this functionality for push walks, so is a simple extension
      of existing code. While this will not avoid the initial walk, it
      will avoid repeating it tens of thousands of times during a single
      checkpoint commit.
      
      This version includes logic improvements from Christoph Hellwig.
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      1d8c95a3
    • J. Bruce Fields's avatar
      xfs: failure mapping nfs fh to inode should return ESTALE · ad1a2c87
      J. Bruce Fields authored
      On xfs exports, nfsd is incorrectly returning ENOENT instead of
      ESTALE on attempts to use a filehandle of a deleted file (spotted
      with pynfs test PUTFH3).  The ENOENT was coming from xfs_iget.
      
      (It's tempting to wonder whether we should just map all xfs_iget
      errors to ESTALE, but I don't believe so--xfs_iget can also return
      ENOMEM at least, which we wouldn't want mapped to ESTALE.)
      
      While we're at it, the other return of ENOENT in xfs_nfs_get_inode()
      also looks wrong.
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      ad1a2c87
    • Chandra Seetharaman's avatar
      xfs: Remove the second parameter to xfs_sb_count() · adab0f67
      Chandra Seetharaman authored
      Remove the second parameter to xfs_sb_count() since all callers of
      the function set them.
      
      Also, fix the header comment regarding it being called periodically.
      Signed-off-by: default avatarChandra Seetharaman <sekharan@us.ibm.com>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      adab0f67
  2. 13 Jul, 2011 12 commits
  3. 11 Jul, 2011 1 commit
  4. 08 Jul, 2011 23 commits