Skip to content

Commit

Permalink
quota: Inline inode_{incr,decr}_space() into callsites
Browse files Browse the repository at this point in the history
inode_incr_space() and inode_decr_space() have only two callsites.
Inline them there as that will make locking changes simpler.

Signed-off-by: Jan Kara <[email protected]>
  • Loading branch information
jankara committed Aug 17, 2017
1 parent 0ed60de commit a478e52
Showing 1 changed file with 28 additions and 27 deletions.
55 changes: 28 additions & 27 deletions fs/quota/dquot.c
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand All @@ -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;
}

Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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;
}

Expand All @@ -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)
Expand Down

0 comments on commit a478e52

Please sign in to comment.