xfs
[Top] [All Lists]

Re: Review: Fix dbflush panic in xfs_qm_sync

To: Donald Douwsma <donaldd@xxxxxxx>
Subject: Re: Review: Fix dbflush panic in xfs_qm_sync
From: Lachlan McIlroy <lachlan@xxxxxxx>
Date: Tue, 16 Oct 2007 15:18:02 +1000
Cc: xfs-oss <xfs@xxxxxxxxxxx>
In-reply-to: <4713F7D3.2090201@sgi.com>
References: <4713F7D3.2090201@sgi.com>
Reply-to: lachlan@xxxxxxx
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird 2.0.0.4 (X11/20070604)
Could mp->m_quotainfo become NULL after this check but before we
lock the list with xfs_qm_mplist_lock()?  There doesn't seem to
be any locking to protect changes to this field?

Donald Douwsma wrote:
The recent behaviour layer removal dropped the check for quotas that have been
requested at mount time but have subsequently been turned off. This results
in a panic when accessing m_quotainfo which has been freed.


This patch adds the check originally made by xfs_qm_syncall() to xfs_qm_sync()


Signed-off-by: Donald Douwsma <donaldd@xxxxxxx>

--- 2.6.x-xfs.orig/fs/xfs/quota/xfs_qm.c
+++ 2.6.x-xfs/fs/xfs/quota/xfs_qm.c
@@ -1007,6 +1007,9 @@ xfs_qm_sync(
     boolean_t    nowait;
     int        error;

+    if (! XFS_IS_QUOTA_ON(mp))
+        return 0;
+
     restarts = 0;
     /*
      * We won't block unless we are asked to.





<Prev in Thread] Current Thread [Next in Thread>