1. 10 Sep, 2010 2 commits
    • Dave Chinner's avatar
      xfs: log IO completion workqueue is a high priority queue · 51749e47
      Dave Chinner authored
      The workqueue implementation in 2.6.36-rcX has changed, resulting
      in the workqueues no longer having dedicated threads for work
      processing. This has caused severe livelocks under heavy parallel
      create workloads because the log IO completions have been getting
      held up behind metadata IO completions.  Hence log commits would
      stall, memory allocation would stall because pages could not be
      cleaned, and lock contention on the AIL during inode IO completion
      processing was being seen to slow everything down even further.
      
      By making the log Io completion workqueue a high priority workqueue,
      they are queued ahead of all data/metadata IO completions and
      processed before the data/metadata completions. Hence the log never
      gets stalled, and operations needed to clean memory can continue as
      quickly as possible. This avoids the livelock conditions and allos
      the system to keep running under heavy load as per normal.
      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>
      51749e47
    • Dan Rosenberg's avatar
      xfs: prevent reading uninitialized stack memory · a122eb2f
      Dan Rosenberg authored
      The XFS_IOC_FSGETXATTR ioctl allows unprivileged users to read 12
      bytes of uninitialized stack memory, because the fsxattr struct
      declared on the stack in xfs_ioc_fsgetxattr() does not alter (or zero)
      the 12-byte fsx_pad member before copying it back to the user.  This
      patch takes care of it.
      Signed-off-by: default avatarDan Rosenberg <dan.j.rosenberg@gmail.com>
      Reviewed-by: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      a122eb2f
  2. 08 Sep, 2010 9 commits
  3. 07 Sep, 2010 29 commits