1. 11 6月, 2010 10 次提交
  2. 09 6月, 2010 2 次提交
  3. 06 6月, 2010 1 次提交
  4. 05 6月, 2010 10 次提交
  5. 03 6月, 2010 9 次提交
    • J
      pipe: change /proc/sys/fs/pipe-max-pages to byte sized interface · ff9da691
      Jens Axboe 提交于
      This changes the interface to be based on bytes instead. The API
      matches that of F_SETPIPE_SZ in that it rounds up the passed in
      size so that the resulting page array is a power-of-2 in size.
      
      The proc file is renamed to /proc/sys/fs/pipe-max-size to
      reflect this change.
      Signed-off-by: NJens Axboe <jaxboe@fusionio.com>
      ff9da691
    • J
      pipe: change the privilege required for growing a pipe beyond system max · 419f8367
      Jens Axboe 提交于
      Change it to CAP_SYS_RESOURCE, as that more accurately models what
      we want to control.
      Suggested-by: NMichael Kerrisk <mtk.manpages@googlemail.com>
      Signed-off-by: NJens Axboe <jaxboe@fusionio.com>
      419f8367
    • J
      pipe: adjust minimum pipe size to 1 page · 6a6ca57d
      Jens Axboe 提交于
      We don't need to pages to guarantee the POSIX requirement
      that upto a page size write must be atomic to an empty
      pipe.
      Signed-off-by: NJens Axboe <jaxboe@fusionio.com>
      6a6ca57d
    • D
      jffs2: Fix NFS race by using insert_inode_locked() · e72e6497
      David Woodhouse 提交于
      New inodes need to be locked as we're creating them, so they don't get used
      by other things (like NFSd) before they're ready.
      
      Pointed out by Al Viro.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      e72e6497
    • D
      jffs2: Fix in-core inode leaks on error paths · f324e4cb
      David Woodhouse 提交于
      Pointed out by Al Viro.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      f324e4cb
    • C
      xfs: improve xfs_isilocked · f9369729
      Christoph Hellwig 提交于
      Use rwsem_is_locked to make the assertations for shared locks work.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NDave Chinner <dchinner@redhat.com>
      
      f9369729
    • C
      xfs: skip writeback from reclaim context · 070ecdca
      Christoph Hellwig 提交于
      Allowing writeback from reclaim context causes massive problems with stack
      overflows as we can call into the writeback code which tends to be a heavy
      stack user both in the generic code and XFS from random contexts that
      perform memory allocations.
      
      Follow the example of btrfs (and in slightly different form ext4) and refuse
      to write out data from reclaim context.  This issue should really be handled
      by the VM so that we can tune better for this case, but until we get it
      sorted out there we have to hack around this in each filesystem with a
      complex writeback path.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NDave Chinner <dchinner@redhat.com>
      
      070ecdca
    • D
      xfs: fix race in inode cluster freeing failing to stale inodes · 5b257b4a
      Dave Chinner 提交于
      When an inode cluster is freed, it needs to mark all inodes in memory as
      XFS_ISTALE before marking the buffer as stale. This is eeded because the inodes
      have a different life cycle to the buffer, and once the buffer is torn down
      during transaction completion, we must ensure none of the inodes get written
      back (which is what XFS_ISTALE does).
      
      Unfortunately, xfs_ifree_cluster() has some bugs that lead to inodes not being
      marked with XFS_ISTALE. This shows up when xfs_iflush() is called on these
      inodes either during inode reclaim or tail pushing on the AIL.  The buffer is
      read back, but no longer contains inodes and so triggers assert failures and
      shutdowns. This was reproducable with at run.dbench10 invocation from xfstests.
      
      There are two main causes of xfs_ifree_cluster() failing. The first is simple -
      it checks in-memory inodes it finds in the per-ag icache to see if they are
      clean without holding the flush lock. if they are clean it skips them
      completely. However, If an inode is flushed delwri, it will
      appear clean, but is not guaranteed to be written back until the flush lock has
      been dropped. Hence we may have raced on the clean check and the inode may
      actually be dirty. Hence always mark inodes found in memory stale before we
      check properly if they are clean.
      
      The second is more complex, and makes the first problem easier to hit.
      Basically the in-memory inode scan is done with full knowledge it can be racing
      with inode flushing and AIl tail pushing, which means that inodes that it can't
      get the flush lock on might not be attached to the buffer after then in-memory
      inode scan due to IO completion occurring. This is actually documented in the
      code as "needs better interlocking". i.e. this is a zero-day bug.
      
      Effectively, the in-memory scan must be done while the inode buffer is locked
      and Io cannot be issued on it while we do the in-memory inode scan. This
      ensures that inodes we couldn't get the flush lock on are guaranteed to be
      attached to the cluster buffer, so we can then catch all in-memory inodes and
      mark them stale.
      
      Now that the inode cluster buffer is locked before the in-memory scan is done,
      there is no need for the two-phase update of the in-memory inodes, so simplify
      the code into two loops and remove the allocation of the temporary buffer used
      to hold locked inodes across the phases.
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      5b257b4a
    • T
      ext4: Make sure the MOVE_EXT ioctl can't overwrite append-only files · 1f5a81e4
      Theodore Ts'o 提交于
      Dan Roseberg has reported a problem with the MOVE_EXT ioctl.  If the
      donor file is an append-only file, we should not allow the operation
      to proceed, lest we end up overwriting the contents of an append-only
      file.
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Cc: Dan Rosenberg <dan.j.rosenberg@gmail.com>
      1f5a81e4
  6. 02 6月, 2010 4 次提交
  7. 01 6月, 2010 3 次提交
  8. 31 5月, 2010 1 次提交