diff options
Diffstat (limited to 'include/linux/quotaops.h')
-rw-r--r-- | include/linux/quotaops.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h index 0b35b3a1be05..3e3a0d2874d9 100644 --- a/include/linux/quotaops.h +++ b/include/linux/quotaops.h | |||
@@ -183,6 +183,16 @@ static inline int vfs_dq_alloc_space(struct inode *inode, qsize_t nr) | |||
183 | return ret; | 183 | return ret; |
184 | } | 184 | } |
185 | 185 | ||
186 | static inline int vfs_dq_reserve_space(struct inode *inode, qsize_t nr) | ||
187 | { | ||
188 | if (sb_any_quota_active(inode->i_sb)) { | ||
189 | /* Used space is updated in alloc_space() */ | ||
190 | if (inode->i_sb->dq_op->reserve_space(inode, nr, 0) == NO_QUOTA) | ||
191 | return 1; | ||
192 | } | ||
193 | return 0; | ||
194 | } | ||
195 | |||
186 | static inline int vfs_dq_alloc_inode(struct inode *inode) | 196 | static inline int vfs_dq_alloc_inode(struct inode *inode) |
187 | { | 197 | { |
188 | if (sb_any_quota_active(inode->i_sb)) { | 198 | if (sb_any_quota_active(inode->i_sb)) { |
@@ -339,6 +349,11 @@ static inline int vfs_dq_alloc_space(struct inode *inode, qsize_t nr) | |||
339 | return 0; | 349 | return 0; |
340 | } | 350 | } |
341 | 351 | ||
352 | static inline int vfs_dq_reserve_space(struct inode *inode, qsize_t nr) | ||
353 | { | ||
354 | return 0; | ||
355 | } | ||
356 | |||
342 | static inline void vfs_dq_free_space_nodirty(struct inode *inode, qsize_t nr) | 357 | static inline void vfs_dq_free_space_nodirty(struct inode *inode, qsize_t nr) |
343 | { | 358 | { |
344 | inode_sub_bytes(inode, nr); | 359 | inode_sub_bytes(inode, nr); |
@@ -376,6 +391,12 @@ static inline int vfs_dq_alloc_block(struct inode *inode, qsize_t nr) | |||
376 | nr << inode->i_sb->s_blocksize_bits); | 391 | nr << inode->i_sb->s_blocksize_bits); |
377 | } | 392 | } |
378 | 393 | ||
394 | static inline int vfs_dq_reserve_block(struct inode *inode, qsize_t nr) | ||
395 | { | ||
396 | return vfs_dq_reserve_space(inode, | ||
397 | nr << inode->i_blkbits); | ||
398 | } | ||
399 | |||
379 | static inline void vfs_dq_free_block_nodirty(struct inode *inode, qsize_t nr) | 400 | static inline void vfs_dq_free_block_nodirty(struct inode *inode, qsize_t nr) |
380 | { | 401 | { |
381 | vfs_dq_free_space_nodirty(inode, nr << inode->i_sb->s_blocksize_bits); | 402 | vfs_dq_free_space_nodirty(inode, nr << inode->i_sb->s_blocksize_bits); |