mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
quota: provide interface for readding allocated space into reserved space
ext4 needs to convert allocated (metadata) blocks back into blocks reserved for delayed allocation. Add functions into quota code for supporting such operation. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
11
fs/stat.c
11
fs/stat.c
@@ -447,9 +447,8 @@ void inode_add_bytes(struct inode *inode, loff_t bytes)
|
||||
|
||||
EXPORT_SYMBOL(inode_add_bytes);
|
||||
|
||||
void inode_sub_bytes(struct inode *inode, loff_t bytes)
|
||||
void __inode_sub_bytes(struct inode *inode, loff_t bytes)
|
||||
{
|
||||
spin_lock(&inode->i_lock);
|
||||
inode->i_blocks -= bytes >> 9;
|
||||
bytes &= 511;
|
||||
if (inode->i_bytes < bytes) {
|
||||
@@ -457,6 +456,14 @@ void inode_sub_bytes(struct inode *inode, loff_t bytes)
|
||||
inode->i_bytes += 512;
|
||||
}
|
||||
inode->i_bytes -= bytes;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(__inode_sub_bytes);
|
||||
|
||||
void inode_sub_bytes(struct inode *inode, loff_t bytes)
|
||||
{
|
||||
spin_lock(&inode->i_lock);
|
||||
__inode_sub_bytes(inode, bytes);
|
||||
spin_unlock(&inode->i_lock);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user