[XFS] remove dependency of the quota module on behaviors
Mount options are now parsed by the main XFS module and rejected if quota support is not available, and there are some new quota operation for the quotactl syscall and calls to quote in the mount, unmount and sync callchains. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29503a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Tim Shimmin <tes@sgi.com>
This commit is contained in:

committed by
Tim Shimmin

parent
293688ec42
commit
b09cc77109
@@ -287,45 +287,6 @@ xfs_qm_rele_quotafs_ref(
|
||||
XFS_QM_UNLOCK(xfs_Gqm);
|
||||
}
|
||||
|
||||
/*
|
||||
* This is called at mount time from xfs_mountfs to initialize the quotainfo
|
||||
* structure and start the global quota manager (xfs_Gqm) if it hasn't done
|
||||
* so already. Note that the superblock has not been read in yet.
|
||||
*/
|
||||
void
|
||||
xfs_qm_mount_quotainit(
|
||||
xfs_mount_t *mp,
|
||||
uint flags)
|
||||
{
|
||||
/*
|
||||
* User, projects or group quotas has to be on.
|
||||
*/
|
||||
ASSERT(flags & (XFSMNT_UQUOTA | XFSMNT_PQUOTA | XFSMNT_GQUOTA));
|
||||
|
||||
/*
|
||||
* Initialize the flags in the mount structure. From this point
|
||||
* onwards we look at m_qflags to figure out if quotas's ON/OFF, etc.
|
||||
* Note that we enforce nothing if accounting is off.
|
||||
* ie. XFSMNT_*QUOTA must be ON for XFSMNT_*QUOTAENF.
|
||||
* It isn't necessary to take the quotaoff lock to do this; this is
|
||||
* called from mount.
|
||||
*/
|
||||
if (flags & XFSMNT_UQUOTA) {
|
||||
mp->m_qflags |= (XFS_UQUOTA_ACCT | XFS_UQUOTA_ACTIVE);
|
||||
if (flags & XFSMNT_UQUOTAENF)
|
||||
mp->m_qflags |= XFS_UQUOTA_ENFD;
|
||||
}
|
||||
if (flags & XFSMNT_GQUOTA) {
|
||||
mp->m_qflags |= (XFS_GQUOTA_ACCT | XFS_GQUOTA_ACTIVE);
|
||||
if (flags & XFSMNT_GQUOTAENF)
|
||||
mp->m_qflags |= XFS_OQUOTA_ENFD;
|
||||
} else if (flags & XFSMNT_PQUOTA) {
|
||||
mp->m_qflags |= (XFS_PQUOTA_ACCT | XFS_PQUOTA_ACTIVE);
|
||||
if (flags & XFSMNT_PQUOTAENF)
|
||||
mp->m_qflags |= XFS_OQUOTA_ENFD;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Just destroy the quotainfo structure.
|
||||
*/
|
||||
@@ -1039,7 +1000,7 @@ xfs_qm_dqdetach(
|
||||
int
|
||||
xfs_qm_sync(
|
||||
xfs_mount_t *mp,
|
||||
short flags)
|
||||
int flags)
|
||||
{
|
||||
int recl, restarts;
|
||||
xfs_dquot_t *dqp;
|
||||
|
Reference in New Issue
Block a user