diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-03-29 19:58:22 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-03-29 19:58:22 -0500 |
commit | 79072f38909e3d9883317238887460c39ddcc4cb (patch) | |
tree | 28369f5a844535ff836565eefd62695b0e890fa3 /include/linux/quota.h | |
parent | 200d5a7684cc49ef4be40e832daf3f217e70dfbb (diff) | |
parent | 55d8ca4f8094246da6e71889a4e04bfafaa78b10 (diff) |
Merge branch 'upstream'
Diffstat (limited to 'include/linux/quota.h')
-rw-r--r-- | include/linux/quota.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/quota.h b/include/linux/quota.h index f33aeb22c26a..2dab71e1c3d1 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/errno.h> | 38 | #include <linux/errno.h> |
39 | #include <linux/types.h> | 39 | #include <linux/types.h> |
40 | #include <linux/spinlock.h> | 40 | #include <linux/spinlock.h> |
41 | #include <linux/mutex.h> | ||
41 | 42 | ||
42 | #define __DQUOT_VERSION__ "dquot_6.5.1" | 43 | #define __DQUOT_VERSION__ "dquot_6.5.1" |
43 | #define __DQUOT_NUM_VERSION__ 6*10000+5*100+1 | 44 | #define __DQUOT_NUM_VERSION__ 6*10000+5*100+1 |
@@ -208,14 +209,13 @@ extern struct dqstats dqstats; | |||
208 | #define DQ_FAKE_B 3 /* no limits only usage */ | 209 | #define DQ_FAKE_B 3 /* no limits only usage */ |
209 | #define DQ_READ_B 4 /* dquot was read into memory */ | 210 | #define DQ_READ_B 4 /* dquot was read into memory */ |
210 | #define DQ_ACTIVE_B 5 /* dquot is active (dquot_release not called) */ | 211 | #define DQ_ACTIVE_B 5 /* dquot is active (dquot_release not called) */ |
211 | #define DQ_WAITFREE_B 6 /* dquot being waited (by invalidate_dquots) */ | ||
212 | 212 | ||
213 | struct dquot { | 213 | struct dquot { |
214 | struct hlist_node dq_hash; /* Hash list in memory */ | 214 | struct hlist_node dq_hash; /* Hash list in memory */ |
215 | struct list_head dq_inuse; /* List of all quotas */ | 215 | struct list_head dq_inuse; /* List of all quotas */ |
216 | struct list_head dq_free; /* Free list element */ | 216 | struct list_head dq_free; /* Free list element */ |
217 | struct list_head dq_dirty; /* List of dirty dquots */ | 217 | struct list_head dq_dirty; /* List of dirty dquots */ |
218 | struct semaphore dq_lock; /* dquot IO lock */ | 218 | struct mutex dq_lock; /* dquot IO lock */ |
219 | atomic_t dq_count; /* Use count */ | 219 | atomic_t dq_count; /* Use count */ |
220 | wait_queue_head_t dq_wait_unused; /* Wait queue for dquot to become unused */ | 220 | wait_queue_head_t dq_wait_unused; /* Wait queue for dquot to become unused */ |
221 | struct super_block *dq_sb; /* superblock this applies to */ | 221 | struct super_block *dq_sb; /* superblock this applies to */ |
@@ -285,8 +285,8 @@ struct quota_format_type { | |||
285 | 285 | ||
286 | struct quota_info { | 286 | struct quota_info { |
287 | unsigned int flags; /* Flags for diskquotas on this device */ | 287 | unsigned int flags; /* Flags for diskquotas on this device */ |
288 | struct semaphore dqio_sem; /* lock device while I/O in progress */ | 288 | struct mutex dqio_mutex; /* lock device while I/O in progress */ |
289 | struct semaphore dqonoff_sem; /* Serialize quotaon & quotaoff */ | 289 | struct mutex dqonoff_mutex; /* Serialize quotaon & quotaoff */ |
290 | struct rw_semaphore dqptr_sem; /* serialize ops using quota_info struct, pointers from inode to dquots */ | 290 | struct rw_semaphore dqptr_sem; /* serialize ops using quota_info struct, pointers from inode to dquots */ |
291 | struct inode *files[MAXQUOTAS]; /* inodes of quotafiles */ | 291 | struct inode *files[MAXQUOTAS]; /* inodes of quotafiles */ |
292 | struct mem_dqinfo info[MAXQUOTAS]; /* Information for each quota type */ | 292 | struct mem_dqinfo info[MAXQUOTAS]; /* Information for each quota type */ |