aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/quotaops.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/quotaops.h')
-rw-r--r--include/linux/quotaops.h21
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
186static 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
186static inline int vfs_dq_alloc_inode(struct inode *inode) 196static 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
352static inline int vfs_dq_reserve_space(struct inode *inode, qsize_t nr)
353{
354 return 0;
355}
356
342static inline void vfs_dq_free_space_nodirty(struct inode *inode, qsize_t nr) 357static 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
394static 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
379static inline void vfs_dq_free_block_nodirty(struct inode *inode, qsize_t nr) 400static 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);