Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a478e522 authored by Jan Kara's avatar Jan Kara
Browse files

quota: Inline inode_{incr,decr}_space() into callsites



inode_incr_space() and inode_decr_space() have only two callsites.
Inline them there as that will make locking changes simpler.

Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 0ed60de3
Loading
Loading
Loading
Loading
+28 −27
Original line number Diff line number Diff line
@@ -1595,29 +1595,6 @@ static qsize_t inode_get_rsv_space(struct inode *inode)
	return ret;
}

static void inode_incr_space(struct inode *inode, qsize_t number,
				int reserve)
{
	if (reserve) {
		spin_lock(&inode->i_lock);
		*inode_reserved_space(inode) += number;
		spin_unlock(&inode->i_lock);
	} else {
		inode_add_bytes(inode, number);
	}
}

static void inode_decr_space(struct inode *inode, qsize_t number, int reserve)
{
	if (reserve) {
		spin_lock(&inode->i_lock);
		*inode_reserved_space(inode) -= number;
		spin_unlock(&inode->i_lock);
	} else {
		inode_sub_bytes(inode, number);
	}
}

/*
 * This functions updates i_blocks+i_bytes fields and quota information
 * (together with appropriate checks).
@@ -1639,7 +1616,13 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags)
	struct dquot **dquots;

	if (!dquot_active(inode)) {
		inode_incr_space(inode, number, reserve);
		if (reserve) {
			spin_lock(&inode->i_lock);
			*inode_reserved_space(inode) += number;
			spin_unlock(&inode->i_lock);
		} else {
			inode_add_bytes(inode, number);
		}
		goto out;
	}

@@ -1667,7 +1650,13 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags)
		else
			dquot_incr_space(dquots[cnt], number);
	}
	inode_incr_space(inode, number, reserve);
	if (reserve) {
		spin_lock(&inode->i_lock);
		*inode_reserved_space(inode) += number;
		spin_unlock(&inode->i_lock);
	} else {
		inode_add_bytes(inode, number);
	}
	spin_unlock(&dq_data_lock);

	if (reserve)
@@ -1805,7 +1794,13 @@ void __dquot_free_space(struct inode *inode, qsize_t number, int flags)
	int reserve = flags & DQUOT_SPACE_RESERVE, index;

	if (!dquot_active(inode)) {
		inode_decr_space(inode, number, reserve);
		if (reserve) {
			spin_lock(&inode->i_lock);
			*inode_reserved_space(inode) -= number;
			spin_unlock(&inode->i_lock);
		} else {
			inode_sub_bytes(inode, number);
		}
		return;
	}

@@ -1826,7 +1821,13 @@ void __dquot_free_space(struct inode *inode, qsize_t number, int flags)
		else
			dquot_decr_space(dquots[cnt], number);
	}
	inode_decr_space(inode, number, reserve);
	if (reserve) {
		spin_lock(&inode->i_lock);
		*inode_reserved_space(inode) -= number;
		spin_unlock(&inode->i_lock);
	} else {
		inode_sub_bytes(inode, number);
	}
	spin_unlock(&dq_data_lock);

	if (reserve)