mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 22:52:35 +02:00
quota: Fix dquot_transfer for filesystems different from ext4
commit05b5d89823upstream. Commitfd8fbfc1modified the way we find amount of reserved space belonging to an inode. The amount of reserved space is checked from dquot_transfer and thus inode_reserved_space gets called even for filesystems that don't provide get_reserved_space callback which results in a BUG. Fix the problem by checking get_reserved_space callback and return 0 if the filesystem does not provide it. CC: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
a61dcb0c6a
commit
38c4d8d579
|
|
@ -1425,6 +1425,9 @@ static void inode_sub_rsv_space(struct inode *inode, qsize_t number)
|
|||
static qsize_t inode_get_rsv_space(struct inode *inode)
|
||||
{
|
||||
qsize_t ret;
|
||||
|
||||
if (!inode->i_sb->dq_op->get_reserved_space)
|
||||
return 0;
|
||||
spin_lock(&inode->i_lock);
|
||||
ret = *inode_reserved_space(inode);
|
||||
spin_unlock(&inode->i_lock);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user