UBIFS: simplify dbg_dump_budg calling conventions
The current 'dbg_dump_budg()' calling convention is that the 'c->space_lock' spinlock is held. However, none of the callers actually use it from contects which have 'c->space_lock' locked, so all callers have to explicitely lock and unlock the spinlock. This is not very sensible convention. This patch changes it and makes 'dbg_dump_budg()' lock the spinlock instead of imposing this to the callers. This simplifies the code a little. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
parent
b137545c44
commit
8ff83089f8
3 changed files with 4 additions and 12 deletions
|
@ -610,7 +610,7 @@ void dbg_dump_budg(struct ubifs_info *c)
|
|||
struct ubifs_gced_idx_leb *idx_gc;
|
||||
long long available, outstanding, free;
|
||||
|
||||
ubifs_assert(spin_is_locked(&c->space_lock));
|
||||
spin_lock(&c->space_lock);
|
||||
spin_lock(&dbg_lock);
|
||||
printk(KERN_DEBUG "(pid %d) Budgeting info: budg_data_growth %lld, "
|
||||
"budg_dd_growth %lld, budg_idx_growth %lld\n", current->pid,
|
||||
|
@ -655,6 +655,7 @@ void dbg_dump_budg(struct ubifs_info *c)
|
|||
printk(KERN_DEBUG "\tavailable: %lld, outstanding %lld, free %lld\n",
|
||||
available, outstanding, free);
|
||||
spin_unlock(&dbg_lock);
|
||||
spin_unlock(&c->space_lock);
|
||||
}
|
||||
|
||||
void dbg_dump_lprop(const struct ubifs_info *c, const struct ubifs_lprops *lp)
|
||||
|
@ -1046,10 +1047,7 @@ int dbg_check_space_info(struct ubifs_info *c)
|
|||
|
||||
ubifs_msg("current lprops statistics dump");
|
||||
dbg_dump_lstats(&lst);
|
||||
|
||||
spin_lock(&c->space_lock);
|
||||
dbg_dump_budg(c);
|
||||
spin_unlock(&c->space_lock);
|
||||
dump_stack();
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -2796,11 +2794,9 @@ static ssize_t write_debugfs_file(struct file *file, const char __user *buf,
|
|||
|
||||
if (file->f_path.dentry == d->dfs_dump_lprops)
|
||||
dbg_dump_lprops(c);
|
||||
else if (file->f_path.dentry == d->dfs_dump_budg) {
|
||||
spin_lock(&c->space_lock);
|
||||
else if (file->f_path.dentry == d->dfs_dump_budg)
|
||||
dbg_dump_budg(c);
|
||||
spin_unlock(&c->space_lock);
|
||||
} else if (file->f_path.dentry == d->dfs_dump_tnc) {
|
||||
else if (file->f_path.dentry == d->dfs_dump_tnc) {
|
||||
mutex_lock(&c->tnc_mutex);
|
||||
dbg_dump_tnc(c);
|
||||
mutex_unlock(&c->tnc_mutex);
|
||||
|
|
|
@ -380,10 +380,8 @@ static int make_reservation(struct ubifs_info *c, int jhead, int len)
|
|||
if (err == -ENOSPC) {
|
||||
/* This are some budgeting problems, print useful information */
|
||||
down_write(&c->commit_sem);
|
||||
spin_lock(&c->space_lock);
|
||||
dbg_dump_stack();
|
||||
dbg_dump_budg(c);
|
||||
spin_unlock(&c->space_lock);
|
||||
dbg_dump_lprops(c);
|
||||
cmt_retries = dbg_check_lprops(c);
|
||||
up_write(&c->commit_sem);
|
||||
|
|
|
@ -383,9 +383,7 @@ static int layout_in_gaps(struct ubifs_info *c, int cnt)
|
|||
* option which forces in-the-gaps is enabled.
|
||||
*/
|
||||
ubifs_err("out of space");
|
||||
spin_lock(&c->space_lock);
|
||||
dbg_dump_budg(c);
|
||||
spin_unlock(&c->space_lock);
|
||||
dbg_dump_lprops(c);
|
||||
}
|
||||
/* Try to commit anyway */
|
||||
|
|
Loading…
Reference in a new issue