diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-12-06 21:58:25 +0000 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2011-12-15 14:38:30 -0600 |
commit | 7ae4440723a413c7a52edd27f654c34680dd4ea2 (patch) | |
tree | 14ec4a743f812d84a00177f7df20f832cd428e62 /fs/xfs/xfs_dquot.c | |
parent | 97e7ade506cdd7157d8b64c77696c082fb997476 (diff) |
xfs: remove XFS_QMOPT_DQSUSER
Just read the id 0 dquot from disk directly in xfs_qm_init_quotainfo instead
of going through dqget and requiring a special flag to not add the dquot to
any lists.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_dquot.c')
-rw-r--r-- | fs/xfs/xfs_dquot.c | 27 |
1 files changed, 6 insertions, 21 deletions
diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c index 1a2aa173ef21..b4ff40b5f918 100644 --- a/fs/xfs/xfs_dquot.c +++ b/fs/xfs/xfs_dquot.c @@ -552,7 +552,7 @@ xfs_qm_dqtobp( * * If XFS_QMOPT_DQALLOC is set, allocate a dquot on disk if it needed. */ -STATIC int +int xfs_qm_dqread( struct xfs_mount *mp, xfs_dqid_t id, @@ -804,32 +804,17 @@ restart: mutex_unlock(&h->qh_lock); error = xfs_qm_dqread(mp, id, type, flags, &dqp); - if (error) { - if (ip) - xfs_ilock(ip, XFS_ILOCK_EXCL); - return error; - } - /* - * See if this is mount code calling to look at the overall quota limits - * which are stored in the id == 0 user or group's dquot. - * Since we may not have done a quotacheck by this point, just return - * the dquot without attaching it to any hashtables, lists, etc, or even - * taking a reference. - * The caller must dqdestroy this once done. - */ - if (flags & XFS_QMOPT_DQSUSER) { - ASSERT(id == 0); - ASSERT(! ip); - goto dqret; - } + if (ip) + xfs_ilock(ip, XFS_ILOCK_EXCL); + + if (error) + return error; /* * Dquot lock comes after hashlock in the lock ordering */ if (ip) { - xfs_ilock(ip, XFS_ILOCK_EXCL); - /* * A dquot could be attached to this inode by now, since * we had dropped the ilock. |