diff options
| author | Jan Kara <jack@suse.cz> | 2002-05-19 19:33:51 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-05-19 19:33:51 -0700 |
| commit | 61d681d67f15e4bdbc576e2495b0dc2fc76dbf42 (patch) | |
| tree | 88e838d8900dbb37294c67f46ac96beaaf1dce5c /include/linux/quota.h | |
| parent | cb0c3669ddda7d721e1de69cffadec32e113f2cc (diff) | |
[PATCH] [1/13] quota-1-newlocks
This patch adds dq_dup_ref to struct dquot. Functions altering just usage of
quota take just this duplicated reference, inodes, quotactl() helpers take real
dq_count reference. dqput() blocks if there are some duplicated references and
put reference is last 'real one'. This way is assured that quota IO is not
done from functions altering quota usage (quota structure is written on last dqput()).
Diffstat (limited to 'include/linux/quota.h')
| -rw-r--r-- | include/linux/quota.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/quota.h b/include/linux/quota.h index b2d5de7368f6..0b4bb2b87580 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h @@ -41,6 +41,9 @@ #include <linux/errno.h> +#define __DQUOT_VERSION__ "dquot_6.5.1" +#define __DQUOT_NUM_VERSION__ 6*10000+5*100+1 + /* * Convert diskblocks to blocks and the other way around. */ @@ -161,7 +164,8 @@ struct dquot { struct list_head dq_free; /* Free list element */ wait_queue_head_t dq_wait_lock; /* Pointer to waitqueue on dquot lock */ wait_queue_head_t dq_wait_free; /* Pointer to waitqueue for quota to be unused */ - int dq_count; /* Reference count */ + int dq_count; /* Use count */ + int dq_dup_ref; /* Number of duplicated refences */ /* fields after this point are cleared when invalidating */ struct super_block *dq_sb; /* superblock this applies to */ |
