diff options
| author | Christoph Hellwig <hch@infradead.org> | 2010-03-03 09:05:07 -0500 |
|---|---|---|
| committer | Jan Kara <jack@suse.cz> | 2010-03-04 18:20:30 -0500 |
| commit | 871a293155a24554e153538d36e3a80fa169aefb (patch) | |
| tree | 7e38f5a2f9e87f63cbc4bc1077a4bb49dde441b0 /include/linux | |
| parent | 907f4554e2521cb28b0009d17167760650a9561c (diff) | |
dquot: cleanup dquot initialize routine
Get rid of the initialize dquot operation - it is now always called from
the filesystem and if a filesystem really needs it's own (which none
currently does) it can just call into it's own routine directly.
Rename the now static low-level dquot_initialize helper to __dquot_initialize
and vfs_dq_init to dquot_initialize to have a consistent namespace.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/quota.h | 1 | ||||
| -rw-r--r-- | include/linux/quotaops.h | 17 |
2 files changed, 4 insertions, 14 deletions
diff --git a/include/linux/quota.h b/include/linux/quota.h index aec2e9dac2d7..4aa93554f0eb 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h | |||
| @@ -295,7 +295,6 @@ struct quota_format_ops { | |||
| 295 | 295 | ||
| 296 | /* Operations working with dquots */ | 296 | /* Operations working with dquots */ |
| 297 | struct dquot_operations { | 297 | struct dquot_operations { |
| 298 | int (*initialize) (struct inode *, int); | ||
| 299 | int (*write_dquot) (struct dquot *); /* Ordinary dquot write */ | 298 | int (*write_dquot) (struct dquot *); /* Ordinary dquot write */ |
| 300 | struct dquot *(*alloc_dquot)(struct super_block *, int); /* Allocate memory for new dquot */ | 299 | struct dquot *(*alloc_dquot)(struct super_block *, int); /* Allocate memory for new dquot */ |
| 301 | void (*destroy_dquot)(struct dquot *); /* Free memory for dquot */ | 300 | void (*destroy_dquot)(struct dquot *); /* Free memory for dquot */ |
diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h index 93ac788345e2..e6fa7acce290 100644 --- a/include/linux/quotaops.h +++ b/include/linux/quotaops.h | |||
| @@ -23,7 +23,7 @@ void inode_add_rsv_space(struct inode *inode, qsize_t number); | |||
| 23 | void inode_claim_rsv_space(struct inode *inode, qsize_t number); | 23 | void inode_claim_rsv_space(struct inode *inode, qsize_t number); |
| 24 | void inode_sub_rsv_space(struct inode *inode, qsize_t number); | 24 | void inode_sub_rsv_space(struct inode *inode, qsize_t number); |
| 25 | 25 | ||
| 26 | int dquot_initialize(struct inode *inode, int type); | 26 | void dquot_initialize(struct inode *inode); |
| 27 | void dquot_drop(struct inode *inode); | 27 | void dquot_drop(struct inode *inode); |
| 28 | struct dquot *dqget(struct super_block *sb, unsigned int id, int type); | 28 | struct dquot *dqget(struct super_block *sb, unsigned int id, int type); |
| 29 | void dqput(struct dquot *dquot); | 29 | void dqput(struct dquot *dquot); |
| @@ -139,15 +139,6 @@ extern const struct quotactl_ops vfs_quotactl_ops; | |||
| 139 | #define sb_dquot_ops (&dquot_operations) | 139 | #define sb_dquot_ops (&dquot_operations) |
| 140 | #define sb_quotactl_ops (&vfs_quotactl_ops) | 140 | #define sb_quotactl_ops (&vfs_quotactl_ops) |
| 141 | 141 | ||
| 142 | /* It is better to call this function outside of any transaction as it might | ||
| 143 | * need a lot of space in journal for dquot structure allocation. */ | ||
| 144 | static inline void vfs_dq_init(struct inode *inode) | ||
| 145 | { | ||
| 146 | BUG_ON(!inode->i_sb); | ||
| 147 | if (sb_any_quota_active(inode->i_sb) && !IS_NOQUOTA(inode)) | ||
| 148 | inode->i_sb->dq_op->initialize(inode, -1); | ||
| 149 | } | ||
| 150 | |||
| 151 | /* Cannot be called inside a transaction */ | 142 | /* Cannot be called inside a transaction */ |
| 152 | static inline int vfs_dq_off(struct super_block *sb, int remount) | 143 | static inline int vfs_dq_off(struct super_block *sb, int remount) |
| 153 | { | 144 | { |
| @@ -207,7 +198,7 @@ static inline int sb_any_quota_active(struct super_block *sb) | |||
| 207 | #define sb_dquot_ops (NULL) | 198 | #define sb_dquot_ops (NULL) |
| 208 | #define sb_quotactl_ops (NULL) | 199 | #define sb_quotactl_ops (NULL) |
| 209 | 200 | ||
| 210 | static inline void vfs_dq_init(struct inode *inode) | 201 | static inline void dquot_initialize(struct inode *inode) |
| 211 | { | 202 | { |
| 212 | } | 203 | } |
| 213 | 204 | ||
| @@ -260,6 +251,8 @@ static inline int dquot_claim_space_nodirty(struct inode *inode, qsize_t number) | |||
| 260 | return 0; | 251 | return 0; |
| 261 | } | 252 | } |
| 262 | 253 | ||
| 254 | #define dquot_file_open generic_file_open | ||
| 255 | |||
| 263 | #endif /* CONFIG_QUOTA */ | 256 | #endif /* CONFIG_QUOTA */ |
| 264 | 257 | ||
| 265 | static inline int dquot_alloc_space_nodirty(struct inode *inode, qsize_t nr) | 258 | static inline int dquot_alloc_space_nodirty(struct inode *inode, qsize_t nr) |
| @@ -344,6 +337,4 @@ static inline void dquot_release_reservation_block(struct inode *inode, | |||
| 344 | __dquot_free_space(inode, nr << inode->i_blkbits, 1); | 337 | __dquot_free_space(inode, nr << inode->i_blkbits, 1); |
| 345 | } | 338 | } |
| 346 | 339 | ||
| 347 | #define dquot_file_open generic_file_open | ||
| 348 | |||
| 349 | #endif /* _LINUX_QUOTAOPS_ */ | 340 | #endif /* _LINUX_QUOTAOPS_ */ |
