aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/quota
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2010-04-13 01:06:53 -0400
committerAlex Elder <aelder@sgi.com>2010-05-19 10:58:11 -0400
commit74457cf4a3e0f0634679aa6c22d967e9e8b26479 (patch)
tree3603ed6ff918ce43087ce76d60604698e1b08d51 /fs/xfs/quota
parent3a8406f6d6916e8211936edb9e1193123df2daab (diff)
xfs: remove xfs_dqmarker
The xfs_dqmarker structure does not need to exist anymore. Move the remaining flags field out of it and remove the structure altogether. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/quota')
-rw-r--r--fs/xfs/quota/xfs_dquot.h21
-rw-r--r--fs/xfs/quota/xfs_qm_syscalls.c2
2 files changed, 2 insertions, 21 deletions
diff --git a/fs/xfs/quota/xfs_dquot.h b/fs/xfs/quota/xfs_dquot.h
index 56fb21d81bc4..5da3a23b820d 100644
--- a/fs/xfs/quota/xfs_dquot.h
+++ b/fs/xfs/quota/xfs_dquot.h
@@ -43,21 +43,10 @@ struct xfs_mount;
43struct xfs_trans; 43struct xfs_trans;
44 44
45/* 45/*
46 * This is the marker which is designed to occupy the first few
47 * bytes of the xfs_dquot_t structure. Even inside this, the freelist pointers
48 * must come first.
49 * This serves as the marker ("sentinel") when we have to restart list
50 * iterations because of locking considerations.
51 */
52typedef struct xfs_dqmarker {
53 uint dqm_flags; /* various flags (XFS_DQ_*) */
54} xfs_dqmarker_t;
55
56/*
57 * The incore dquot structure 46 * The incore dquot structure
58 */ 47 */
59typedef struct xfs_dquot { 48typedef struct xfs_dquot {
60 xfs_dqmarker_t q_lists; /* list ptrs, q_flags (marker) */ 49 uint dq_flags; /* various flags (XFS_DQ_*) */
61 struct list_head q_freelist; /* global free list of dquots */ 50 struct list_head q_freelist; /* global free list of dquots */
62 struct list_head q_mplist; /* mount's list of dquots */ 51 struct list_head q_mplist; /* mount's list of dquots */
63 struct list_head q_hashlist; /* gloabl hash list of dquots */ 52 struct list_head q_hashlist; /* gloabl hash list of dquots */
@@ -81,13 +70,6 @@ typedef struct xfs_dquot {
81 wait_queue_head_t q_pinwait; /* dquot pinning wait queue */ 70 wait_queue_head_t q_pinwait; /* dquot pinning wait queue */
82} xfs_dquot_t; 71} xfs_dquot_t;
83 72
84
85#define dq_flnext q_lists.dqm_flnext
86#define dq_flprev q_lists.dqm_flprev
87#define dq_mplist q_lists.dqm_mplist
88#define dq_hashlist q_lists.dqm_hashlist
89#define dq_flags q_lists.dqm_flags
90
91/* 73/*
92 * Lock hierarchy for q_qlock: 74 * Lock hierarchy for q_qlock:
93 * XFS_QLOCK_NORMAL is the implicit default, 75 * XFS_QLOCK_NORMAL is the implicit default,
@@ -121,7 +103,6 @@ static inline void xfs_dqfunlock(xfs_dquot_t *dqp)
121} 103}
122 104
123#define XFS_DQ_IS_LOCKED(dqp) (mutex_is_locked(&((dqp)->q_qlock))) 105#define XFS_DQ_IS_LOCKED(dqp) (mutex_is_locked(&((dqp)->q_qlock)))
124#define XFS_DQ_IS_ON_FREELIST(dqp) ((dqp)->dq_flnext != (dqp))
125#define XFS_DQ_IS_DIRTY(dqp) ((dqp)->dq_flags & XFS_DQ_DIRTY) 106#define XFS_DQ_IS_DIRTY(dqp) ((dqp)->dq_flags & XFS_DQ_DIRTY)
126#define XFS_QM_ISUDQ(dqp) ((dqp)->dq_flags & XFS_DQ_USER) 107#define XFS_QM_ISUDQ(dqp) ((dqp)->dq_flags & XFS_DQ_USER)
127#define XFS_QM_ISPDQ(dqp) ((dqp)->dq_flags & XFS_DQ_PROJ) 108#define XFS_QM_ISPDQ(dqp) ((dqp)->dq_flags & XFS_DQ_PROJ)
diff --git a/fs/xfs/quota/xfs_qm_syscalls.c b/fs/xfs/quota/xfs_qm_syscalls.c
index c82e319f9df4..453374406728 100644
--- a/fs/xfs/quota/xfs_qm_syscalls.c
+++ b/fs/xfs/quota/xfs_qm_syscalls.c
@@ -931,7 +931,7 @@ struct mutex qcheck_lock;
931} 931}
932 932
933typedef struct dqtest { 933typedef struct dqtest {
934 xfs_dqmarker_t q_lists; 934 uint dq_flags; /* various flags (XFS_DQ_*) */
935 struct list_head q_hashlist; 935 struct list_head q_hashlist;
936 xfs_dqhash_t *q_hash; /* the hashchain header */ 936 xfs_dqhash_t *q_hash; /* the hashchain header */
937 xfs_mount_t *q_mount; /* filesystem this relates to */ 937 xfs_mount_t *q_mount; /* filesystem this relates to */