UBIFS: remove an unneeded check

In 'ubifs_recover_size()' we have an "if (!e->inode && c->ro_mount)" statement.
But if 'c->ro_mount' is true, then '!e->inode' must always be true as well. So
we can remove the unnecessary '!e->inode' test and put an
'ubifs_assert(!e->inode)' instead.

This patch also removes an extra trailing white-space in a debugging print,
as well as adds few empty lines to 'ubifs_recover_size()' to make it a bit more
readable.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
Artem Bityutskiy 2011-05-02 21:51:17 +03:00
parent 4c9545200a
commit 69f8a75a7d

View file

@ -1436,7 +1436,7 @@ static int fix_size_in_place(struct ubifs_info *c, struct size_entry *e)
err = ubi_leb_change(c->ubi, lnum, c->sbuf, len, UBI_UNKNOWN); err = ubi_leb_change(c->ubi, lnum, c->sbuf, len, UBI_UNKNOWN);
if (err) if (err)
goto out; goto out;
dbg_rcvry("inode %lu at %d:%d size %lld -> %lld ", dbg_rcvry("inode %lu at %d:%d size %lld -> %lld",
(unsigned long)e->inum, lnum, offs, i_size, e->d_size); (unsigned long)e->inum, lnum, offs, i_size, e->d_size);
return 0; return 0;
@ -1485,11 +1485,14 @@ int ubifs_recover_size(struct ubifs_info *c)
e->i_size = le64_to_cpu(ino->size); e->i_size = le64_to_cpu(ino->size);
} }
} }
if (e->exists && e->i_size < e->d_size) { if (e->exists && e->i_size < e->d_size) {
if (!e->inode && c->ro_mount) { if (c->ro_mount) {
/* Fix the inode size and pin it in memory */ /* Fix the inode size and pin it in memory */
struct inode *inode; struct inode *inode;
ubifs_assert(!e->inode);
inode = ubifs_iget(c->vfs_sb, e->inum); inode = ubifs_iget(c->vfs_sb, e->inum);
if (IS_ERR(inode)) if (IS_ERR(inode))
return PTR_ERR(inode); return PTR_ERR(inode);
@ -1513,9 +1516,11 @@ int ubifs_recover_size(struct ubifs_info *c)
iput(e->inode); iput(e->inode);
} }
} }
this = rb_next(this); this = rb_next(this);
rb_erase(&e->rb, &c->size_tree); rb_erase(&e->rb, &c->size_tree);
kfree(e); kfree(e);
} }
return 0; return 0;
} }