X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=fs%2Fxfs%2Fxfs_qmops.c;h=a294e58db8dda71c5230c39f39117863c7344d72;hb=2e93960c4d712096902c16fe5511fc91502c2527;hp=c266a0184b42e2e38eac37059a1b8ee0997dd1ab;hpb=fe537c0ee86b27fbe0690a7869815da80f492dbd;p=linux-2.6-omap-h63xx.git diff --git a/fs/xfs/xfs_qmops.c b/fs/xfs/xfs_qmops.c index c266a0184b4..a294e58db8d 100644 --- a/fs/xfs/xfs_qmops.c +++ b/fs/xfs/xfs_qmops.c @@ -49,18 +49,17 @@ xfs_mount_reset_sbqflags(xfs_mount_t *mp) { int error; xfs_trans_t *tp; - unsigned long s; mp->m_qflags = 0; /* * It is OK to look at sb_qflags here in mount path, - * without SB_LOCK. + * without m_sb_lock. */ if (mp->m_sb.sb_qflags == 0) return 0; - s = XFS_SB_LOCK(mp); + spin_lock(&mp->m_sb_lock); mp->m_sb.sb_qflags = 0; - XFS_SB_UNLOCK(mp, s); + spin_unlock(&mp->m_sb_lock); /* * if the fs is readonly, let the incore superblock run @@ -135,19 +134,13 @@ int xfs_qmops_get(struct xfs_mount *mp, struct xfs_mount_args *args) { if (args->flags & (XFSMNT_UQUOTA | XFSMNT_PQUOTA | XFSMNT_GQUOTA)) { - struct xfs_qmops *ops; - - ops = symbol_get(xfs_qmcore_xfs); - if (!ops) { - request_module("xfs_quota"); - ops = symbol_get(xfs_qmcore_xfs); - } - - if (!ops) { - cmn_err(CE_WARN, "XFS: no quota support available."); - return EINVAL; - } - mp->m_qm_ops = ops; +#ifdef CONFIG_XFS_QUOTA + mp->m_qm_ops = &xfs_qmcore_xfs; +#else + cmn_err(CE_WARN, + "XFS: qouta support not available in this kernel."); + return EINVAL; +#endif } else { mp->m_qm_ops = &xfs_qmcore_stub; } @@ -158,6 +151,4 @@ xfs_qmops_get(struct xfs_mount *mp, struct xfs_mount_args *args) void xfs_qmops_put(struct xfs_mount *mp) { - if (mp->m_qm_ops != &xfs_qmcore_stub) - symbol_put(xfs_qmcore_xfs); }