1. 17 Nov, 2009 2 commits
    • Nathaniel W. Turner's avatar
      xfs: copy li_lsn before dropping AIL lock · 6c06f072
      Nathaniel W. Turner authored
      Access to log items on the AIL is generally protected by m_ail_lock;
      this is particularly needed when we're getting or setting the 64-bit
      li_lsn on a 32-bit platform.  This patch fixes a couple places where we
      were accessing the log item after dropping the AIL lock on 32-bit
      machines.
      
      This can result in a partially-zeroed log->l_tail_lsn if
      xfs_trans_ail_delete is racing with xfs_trans_ail_update, and in at
      least some cases, this can leave the l_tail_lsn with a zero cycle
      number, which means xlog_space_left will think the log is full (unless
      CONFIG_XFS_DEBUG is set, in which case we'll trip an ASSERT), leading to
      processes stuck forever in xlog_grant_log_space.
      
      Thanks to Adrian VanderSpek for first spotting the race potential and to
      Dave Chinner for debug assistance.
      Signed-off-by: default avatarNathaniel W. Turner <nate@houseofnate.net>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      6c06f072
    • Jan Rekorajski's avatar
      XFS bug in log recover with quota (bugzilla id 855) · 8ec6dba2
      Jan Rekorajski authored
      Hi,
      I was hit by a bug in linux 2.6.31 when XFS is not able to recover the
      log after a crash if fs was mounted with quotas. Gory details in XFS
      bugzilla: http://oss.sgi.com/bugzilla/show_bug.cgi?id=855.
      
      It looks like wrong struct is used in buffer length check, and the following
      patch should fix the problem.
      
      xfs_dqblk_t has a size of 104+32 bytes, while xfs_disk_dquot_t is 104 bytes
      long, and this is exactly what I see in system logs - "XFS: dquot too small
      (104) in xlog_recover_do_dquot_trans."
      Signed-off-by: default avatarJan Rekorajski <baggins@sith.mimuw.edu.pl>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      8ec6dba2
  2. 14 Nov, 2009 8 commits
  3. 13 Nov, 2009 16 commits
  4. 12 Nov, 2009 14 commits