diff options
Diffstat (limited to 'fs/xfs/quota/xfs_qm.h')
| -rw-r--r-- | fs/xfs/quota/xfs_qm.h | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/fs/xfs/quota/xfs_qm.h b/fs/xfs/quota/xfs_qm.h index 495564b8af38..c9446f1c726d 100644 --- a/fs/xfs/quota/xfs_qm.h +++ b/fs/xfs/quota/xfs_qm.h | |||
| @@ -72,17 +72,6 @@ extern kmem_zone_t *qm_dqtrxzone; | |||
| 72 | #define XFS_QM_MAX_DQCLUSTER_LOGSZ 3 | 72 | #define XFS_QM_MAX_DQCLUSTER_LOGSZ 3 |
| 73 | 73 | ||
| 74 | typedef xfs_dqhash_t xfs_dqlist_t; | 74 | typedef xfs_dqhash_t xfs_dqlist_t; |
| 75 | /* | ||
| 76 | * The freelist head. The first two fields match the first two in the | ||
| 77 | * xfs_dquot_t structure (in xfs_dqmarker_t) | ||
| 78 | */ | ||
| 79 | typedef struct xfs_frlist { | ||
| 80 | struct xfs_dquot *qh_next; | ||
| 81 | struct xfs_dquot *qh_prev; | ||
| 82 | struct mutex qh_lock; | ||
| 83 | uint qh_version; | ||
| 84 | uint qh_nelems; | ||
| 85 | } xfs_frlist_t; | ||
| 86 | 75 | ||
| 87 | /* | 76 | /* |
| 88 | * Quota Manager (global) structure. Lives only in core. | 77 | * Quota Manager (global) structure. Lives only in core. |
| @@ -91,7 +80,9 @@ typedef struct xfs_qm { | |||
| 91 | xfs_dqlist_t *qm_usr_dqhtable;/* udquot hash table */ | 80 | xfs_dqlist_t *qm_usr_dqhtable;/* udquot hash table */ |
| 92 | xfs_dqlist_t *qm_grp_dqhtable;/* gdquot hash table */ | 81 | xfs_dqlist_t *qm_grp_dqhtable;/* gdquot hash table */ |
| 93 | uint qm_dqhashmask; /* # buckets in dq hashtab - 1 */ | 82 | uint qm_dqhashmask; /* # buckets in dq hashtab - 1 */ |
| 94 | xfs_frlist_t qm_dqfreelist; /* freelist of dquots */ | 83 | struct list_head qm_dqfrlist; /* freelist of dquots */ |
| 84 | struct mutex qm_dqfrlist_lock; | ||
| 85 | int qm_dqfrlist_cnt; | ||
| 95 | atomic_t qm_totaldquots; /* total incore dquots */ | 86 | atomic_t qm_totaldquots; /* total incore dquots */ |
| 96 | uint qm_nrefs; /* file systems with quota on */ | 87 | uint qm_nrefs; /* file systems with quota on */ |
| 97 | int qm_dqfree_ratio;/* ratio of free to inuse dquots */ | 88 | int qm_dqfree_ratio;/* ratio of free to inuse dquots */ |
| @@ -106,7 +97,9 @@ typedef struct xfs_qm { | |||
| 106 | typedef struct xfs_quotainfo { | 97 | typedef struct xfs_quotainfo { |
| 107 | xfs_inode_t *qi_uquotaip; /* user quota inode */ | 98 | xfs_inode_t *qi_uquotaip; /* user quota inode */ |
| 108 | xfs_inode_t *qi_gquotaip; /* group quota inode */ | 99 | xfs_inode_t *qi_gquotaip; /* group quota inode */ |
| 109 | xfs_dqlist_t qi_dqlist; /* all dquots in filesys */ | 100 | struct list_head qi_dqlist; /* all dquots in filesys */ |
| 101 | struct mutex qi_dqlist_lock; | ||
| 102 | int qi_dquots; | ||
| 110 | int qi_dqreclaims; /* a change here indicates | 103 | int qi_dqreclaims; /* a change here indicates |
| 111 | a removal in the dqlist */ | 104 | a removal in the dqlist */ |
| 112 | time_t qi_btimelimit; /* limit for blks timer */ | 105 | time_t qi_btimelimit; /* limit for blks timer */ |
| @@ -175,10 +168,6 @@ extern int xfs_qm_scall_getqstat(xfs_mount_t *, fs_quota_stat_t *); | |||
| 175 | extern int xfs_qm_scall_quotaon(xfs_mount_t *, uint); | 168 | extern int xfs_qm_scall_quotaon(xfs_mount_t *, uint); |
| 176 | extern int xfs_qm_scall_quotaoff(xfs_mount_t *, uint); | 169 | extern int xfs_qm_scall_quotaoff(xfs_mount_t *, uint); |
| 177 | 170 | ||
| 178 | /* list stuff */ | ||
| 179 | extern void xfs_qm_freelist_append(xfs_frlist_t *, xfs_dquot_t *); | ||
| 180 | extern void xfs_qm_freelist_unlink(xfs_dquot_t *); | ||
| 181 | |||
| 182 | #ifdef DEBUG | 171 | #ifdef DEBUG |
| 183 | extern int xfs_qm_internalqcheck(xfs_mount_t *); | 172 | extern int xfs_qm_internalqcheck(xfs_mount_t *); |
| 184 | #else | 173 | #else |
