diff options
Diffstat (limited to 'fs/xfs/quota')
-rw-r--r-- | fs/xfs/quota/xfs_dquot.c | 3 | ||||
-rw-r--r-- | fs/xfs/quota/xfs_dquot.h | 2 | ||||
-rw-r--r-- | fs/xfs/quota/xfs_dquot_item.c | 4 | ||||
-rw-r--r-- | fs/xfs/quota/xfs_qm.c | 24 | ||||
-rw-r--r-- | fs/xfs/quota/xfs_qm_syscalls.c | 12 | ||||
-rw-r--r-- | fs/xfs/quota/xfs_quota_priv.h | 3 |
6 files changed, 22 insertions, 26 deletions
diff --git a/fs/xfs/quota/xfs_dquot.c b/fs/xfs/quota/xfs_dquot.c index 85df3288efd5..fc9f3fb39b7b 100644 --- a/fs/xfs/quota/xfs_dquot.c +++ b/fs/xfs/quota/xfs_dquot.c | |||
@@ -1435,8 +1435,7 @@ xfs_dqlock2( | |||
1435 | /* ARGSUSED */ | 1435 | /* ARGSUSED */ |
1436 | int | 1436 | int |
1437 | xfs_qm_dqpurge( | 1437 | xfs_qm_dqpurge( |
1438 | xfs_dquot_t *dqp, | 1438 | xfs_dquot_t *dqp) |
1439 | uint flags) | ||
1440 | { | 1439 | { |
1441 | xfs_dqhash_t *thishash; | 1440 | xfs_dqhash_t *thishash; |
1442 | xfs_mount_t *mp = dqp->q_mount; | 1441 | xfs_mount_t *mp = dqp->q_mount; |
diff --git a/fs/xfs/quota/xfs_dquot.h b/fs/xfs/quota/xfs_dquot.h index 5c371a92e3e2..f7393bba4e95 100644 --- a/fs/xfs/quota/xfs_dquot.h +++ b/fs/xfs/quota/xfs_dquot.h | |||
@@ -164,7 +164,7 @@ extern void xfs_qm_dqprint(xfs_dquot_t *); | |||
164 | 164 | ||
165 | extern void xfs_qm_dqdestroy(xfs_dquot_t *); | 165 | extern void xfs_qm_dqdestroy(xfs_dquot_t *); |
166 | extern int xfs_qm_dqflush(xfs_dquot_t *, uint); | 166 | extern int xfs_qm_dqflush(xfs_dquot_t *, uint); |
167 | extern int xfs_qm_dqpurge(xfs_dquot_t *, uint); | 167 | extern int xfs_qm_dqpurge(xfs_dquot_t *); |
168 | extern void xfs_qm_dqunpin_wait(xfs_dquot_t *); | 168 | extern void xfs_qm_dqunpin_wait(xfs_dquot_t *); |
169 | extern int xfs_qm_dqlock_nowait(xfs_dquot_t *); | 169 | extern int xfs_qm_dqlock_nowait(xfs_dquot_t *); |
170 | extern int xfs_qm_dqflock_nowait(xfs_dquot_t *); | 170 | extern int xfs_qm_dqflock_nowait(xfs_dquot_t *); |
diff --git a/fs/xfs/quota/xfs_dquot_item.c b/fs/xfs/quota/xfs_dquot_item.c index 36e05ca78412..08d2fc89e6a1 100644 --- a/fs/xfs/quota/xfs_dquot_item.c +++ b/fs/xfs/quota/xfs_dquot_item.c | |||
@@ -576,8 +576,8 @@ xfs_qm_qoffend_logitem_committed( | |||
576 | * xfs_trans_delete_ail() drops the AIL lock. | 576 | * xfs_trans_delete_ail() drops the AIL lock. |
577 | */ | 577 | */ |
578 | xfs_trans_delete_ail(qfs->qql_item.li_mountp, (xfs_log_item_t *)qfs); | 578 | xfs_trans_delete_ail(qfs->qql_item.li_mountp, (xfs_log_item_t *)qfs); |
579 | kmem_free(qfs, sizeof(xfs_qoff_logitem_t)); | 579 | kmem_free(qfs); |
580 | kmem_free(qfe, sizeof(xfs_qoff_logitem_t)); | 580 | kmem_free(qfe); |
581 | return (xfs_lsn_t)-1; | 581 | return (xfs_lsn_t)-1; |
582 | } | 582 | } |
583 | 583 | ||
diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c index d31cce1165c5..021934a3d456 100644 --- a/fs/xfs/quota/xfs_qm.c +++ b/fs/xfs/quota/xfs_qm.c | |||
@@ -192,8 +192,8 @@ xfs_qm_destroy( | |||
192 | xfs_qm_list_destroy(&(xqm->qm_usr_dqhtable[i])); | 192 | xfs_qm_list_destroy(&(xqm->qm_usr_dqhtable[i])); |
193 | xfs_qm_list_destroy(&(xqm->qm_grp_dqhtable[i])); | 193 | xfs_qm_list_destroy(&(xqm->qm_grp_dqhtable[i])); |
194 | } | 194 | } |
195 | kmem_free(xqm->qm_usr_dqhtable, hsize * sizeof(xfs_dqhash_t)); | 195 | kmem_free(xqm->qm_usr_dqhtable); |
196 | kmem_free(xqm->qm_grp_dqhtable, hsize * sizeof(xfs_dqhash_t)); | 196 | kmem_free(xqm->qm_grp_dqhtable); |
197 | xqm->qm_usr_dqhtable = NULL; | 197 | xqm->qm_usr_dqhtable = NULL; |
198 | xqm->qm_grp_dqhtable = NULL; | 198 | xqm->qm_grp_dqhtable = NULL; |
199 | xqm->qm_dqhashmask = 0; | 199 | xqm->qm_dqhashmask = 0; |
@@ -201,7 +201,7 @@ xfs_qm_destroy( | |||
201 | #ifdef DEBUG | 201 | #ifdef DEBUG |
202 | mutex_destroy(&qcheck_lock); | 202 | mutex_destroy(&qcheck_lock); |
203 | #endif | 203 | #endif |
204 | kmem_free(xqm, sizeof(xfs_qm_t)); | 204 | kmem_free(xqm); |
205 | } | 205 | } |
206 | 206 | ||
207 | /* | 207 | /* |
@@ -445,11 +445,11 @@ xfs_qm_unmount_quotas( | |||
445 | } | 445 | } |
446 | } | 446 | } |
447 | if (uqp) { | 447 | if (uqp) { |
448 | XFS_PURGE_INODE(uqp); | 448 | IRELE(uqp); |
449 | mp->m_quotainfo->qi_uquotaip = NULL; | 449 | mp->m_quotainfo->qi_uquotaip = NULL; |
450 | } | 450 | } |
451 | if (gqp) { | 451 | if (gqp) { |
452 | XFS_PURGE_INODE(gqp); | 452 | IRELE(gqp); |
453 | mp->m_quotainfo->qi_gquotaip = NULL; | 453 | mp->m_quotainfo->qi_gquotaip = NULL; |
454 | } | 454 | } |
455 | out: | 455 | out: |
@@ -631,7 +631,7 @@ xfs_qm_dqpurge_int( | |||
631 | * freelist in INACTIVE state. | 631 | * freelist in INACTIVE state. |
632 | */ | 632 | */ |
633 | nextdqp = dqp->MPL_NEXT; | 633 | nextdqp = dqp->MPL_NEXT; |
634 | nmisses += xfs_qm_dqpurge(dqp, flags); | 634 | nmisses += xfs_qm_dqpurge(dqp); |
635 | dqp = nextdqp; | 635 | dqp = nextdqp; |
636 | } | 636 | } |
637 | xfs_qm_mplist_unlock(mp); | 637 | xfs_qm_mplist_unlock(mp); |
@@ -1134,7 +1134,7 @@ xfs_qm_init_quotainfo( | |||
1134 | * and change the superblock accordingly. | 1134 | * and change the superblock accordingly. |
1135 | */ | 1135 | */ |
1136 | if ((error = xfs_qm_init_quotainos(mp))) { | 1136 | if ((error = xfs_qm_init_quotainos(mp))) { |
1137 | kmem_free(qinf, sizeof(xfs_quotainfo_t)); | 1137 | kmem_free(qinf); |
1138 | mp->m_quotainfo = NULL; | 1138 | mp->m_quotainfo = NULL; |
1139 | return error; | 1139 | return error; |
1140 | } | 1140 | } |
@@ -1240,15 +1240,15 @@ xfs_qm_destroy_quotainfo( | |||
1240 | xfs_qm_list_destroy(&qi->qi_dqlist); | 1240 | xfs_qm_list_destroy(&qi->qi_dqlist); |
1241 | 1241 | ||
1242 | if (qi->qi_uquotaip) { | 1242 | if (qi->qi_uquotaip) { |
1243 | XFS_PURGE_INODE(qi->qi_uquotaip); | 1243 | IRELE(qi->qi_uquotaip); |
1244 | qi->qi_uquotaip = NULL; /* paranoia */ | 1244 | qi->qi_uquotaip = NULL; /* paranoia */ |
1245 | } | 1245 | } |
1246 | if (qi->qi_gquotaip) { | 1246 | if (qi->qi_gquotaip) { |
1247 | XFS_PURGE_INODE(qi->qi_gquotaip); | 1247 | IRELE(qi->qi_gquotaip); |
1248 | qi->qi_gquotaip = NULL; | 1248 | qi->qi_gquotaip = NULL; |
1249 | } | 1249 | } |
1250 | mutex_destroy(&qi->qi_quotaofflock); | 1250 | mutex_destroy(&qi->qi_quotaofflock); |
1251 | kmem_free(qi, sizeof(xfs_quotainfo_t)); | 1251 | kmem_free(qi); |
1252 | mp->m_quotainfo = NULL; | 1252 | mp->m_quotainfo = NULL; |
1253 | } | 1253 | } |
1254 | 1254 | ||
@@ -1394,7 +1394,7 @@ xfs_qm_qino_alloc( | |||
1394 | * locked exclusively and joined to the transaction already. | 1394 | * locked exclusively and joined to the transaction already. |
1395 | */ | 1395 | */ |
1396 | ASSERT(xfs_isilocked(*ip, XFS_ILOCK_EXCL)); | 1396 | ASSERT(xfs_isilocked(*ip, XFS_ILOCK_EXCL)); |
1397 | VN_HOLD(XFS_ITOV((*ip))); | 1397 | IHOLD(*ip); |
1398 | 1398 | ||
1399 | /* | 1399 | /* |
1400 | * Make the changes in the superblock, and log those too. | 1400 | * Make the changes in the superblock, and log those too. |
@@ -1623,7 +1623,7 @@ xfs_qm_dqiterate( | |||
1623 | break; | 1623 | break; |
1624 | } while (nmaps > 0); | 1624 | } while (nmaps > 0); |
1625 | 1625 | ||
1626 | kmem_free(map, XFS_DQITER_MAP_SIZE * sizeof(*map)); | 1626 | kmem_free(map); |
1627 | 1627 | ||
1628 | return error; | 1628 | return error; |
1629 | } | 1629 | } |
diff --git a/fs/xfs/quota/xfs_qm_syscalls.c b/fs/xfs/quota/xfs_qm_syscalls.c index 768a3b27d2b6..adfb8723f65a 100644 --- a/fs/xfs/quota/xfs_qm_syscalls.c +++ b/fs/xfs/quota/xfs_qm_syscalls.c | |||
@@ -362,11 +362,11 @@ xfs_qm_scall_quotaoff( | |||
362 | * if we don't need them anymore. | 362 | * if we don't need them anymore. |
363 | */ | 363 | */ |
364 | if ((dqtype & XFS_QMOPT_UQUOTA) && XFS_QI_UQIP(mp)) { | 364 | if ((dqtype & XFS_QMOPT_UQUOTA) && XFS_QI_UQIP(mp)) { |
365 | XFS_PURGE_INODE(XFS_QI_UQIP(mp)); | 365 | IRELE(XFS_QI_UQIP(mp)); |
366 | XFS_QI_UQIP(mp) = NULL; | 366 | XFS_QI_UQIP(mp) = NULL; |
367 | } | 367 | } |
368 | if ((dqtype & (XFS_QMOPT_GQUOTA|XFS_QMOPT_PQUOTA)) && XFS_QI_GQIP(mp)) { | 368 | if ((dqtype & (XFS_QMOPT_GQUOTA|XFS_QMOPT_PQUOTA)) && XFS_QI_GQIP(mp)) { |
369 | XFS_PURGE_INODE(XFS_QI_GQIP(mp)); | 369 | IRELE(XFS_QI_GQIP(mp)); |
370 | XFS_QI_GQIP(mp) = NULL; | 370 | XFS_QI_GQIP(mp) = NULL; |
371 | } | 371 | } |
372 | out_error: | 372 | out_error: |
@@ -1449,14 +1449,14 @@ xfs_qm_internalqcheck( | |||
1449 | for (d = (xfs_dqtest_t *) h1->qh_next; d != NULL; ) { | 1449 | for (d = (xfs_dqtest_t *) h1->qh_next; d != NULL; ) { |
1450 | xfs_dqtest_cmp(d); | 1450 | xfs_dqtest_cmp(d); |
1451 | e = (xfs_dqtest_t *) d->HL_NEXT; | 1451 | e = (xfs_dqtest_t *) d->HL_NEXT; |
1452 | kmem_free(d, sizeof(xfs_dqtest_t)); | 1452 | kmem_free(d); |
1453 | d = e; | 1453 | d = e; |
1454 | } | 1454 | } |
1455 | h1 = &qmtest_gdqtab[i]; | 1455 | h1 = &qmtest_gdqtab[i]; |
1456 | for (d = (xfs_dqtest_t *) h1->qh_next; d != NULL; ) { | 1456 | for (d = (xfs_dqtest_t *) h1->qh_next; d != NULL; ) { |
1457 | xfs_dqtest_cmp(d); | 1457 | xfs_dqtest_cmp(d); |
1458 | e = (xfs_dqtest_t *) d->HL_NEXT; | 1458 | e = (xfs_dqtest_t *) d->HL_NEXT; |
1459 | kmem_free(d, sizeof(xfs_dqtest_t)); | 1459 | kmem_free(d); |
1460 | d = e; | 1460 | d = e; |
1461 | } | 1461 | } |
1462 | } | 1462 | } |
@@ -1467,8 +1467,8 @@ xfs_qm_internalqcheck( | |||
1467 | } else { | 1467 | } else { |
1468 | cmn_err(CE_DEBUG, "******** quotacheck successful! ********"); | 1468 | cmn_err(CE_DEBUG, "******** quotacheck successful! ********"); |
1469 | } | 1469 | } |
1470 | kmem_free(qmtest_udqtab, qmtest_hashmask * sizeof(xfs_dqhash_t)); | 1470 | kmem_free(qmtest_udqtab); |
1471 | kmem_free(qmtest_gdqtab, qmtest_hashmask * sizeof(xfs_dqhash_t)); | 1471 | kmem_free(qmtest_gdqtab); |
1472 | mutex_unlock(&qcheck_lock); | 1472 | mutex_unlock(&qcheck_lock); |
1473 | return (qmtest_nfails); | 1473 | return (qmtest_nfails); |
1474 | } | 1474 | } |
diff --git a/fs/xfs/quota/xfs_quota_priv.h b/fs/xfs/quota/xfs_quota_priv.h index 5e4a40b1c565..c4fcea600bc2 100644 --- a/fs/xfs/quota/xfs_quota_priv.h +++ b/fs/xfs/quota/xfs_quota_priv.h | |||
@@ -158,9 +158,6 @@ for ((dqp) = (qlist)->qh_next; (dqp) != (xfs_dquot_t *)(qlist); \ | |||
158 | #define XFS_IS_SUSER_DQUOT(dqp) \ | 158 | #define XFS_IS_SUSER_DQUOT(dqp) \ |
159 | (!((dqp)->q_core.d_id)) | 159 | (!((dqp)->q_core.d_id)) |
160 | 160 | ||
161 | #define XFS_PURGE_INODE(ip) \ | ||
162 | IRELE(ip); | ||
163 | |||
164 | #define DQFLAGTO_TYPESTR(d) (((d)->dq_flags & XFS_DQ_USER) ? "USR" : \ | 161 | #define DQFLAGTO_TYPESTR(d) (((d)->dq_flags & XFS_DQ_USER) ? "USR" : \ |
165 | (((d)->dq_flags & XFS_DQ_GROUP) ? "GRP" : \ | 162 | (((d)->dq_flags & XFS_DQ_GROUP) ? "GRP" : \ |
166 | (((d)->dq_flags & XFS_DQ_PROJ) ? "PRJ":"???"))) | 163 | (((d)->dq_flags & XFS_DQ_PROJ) ? "PRJ":"???"))) |