UBIFS: correct orphan deletion order

The debug function that checks orphans, does so using the
TNC mutex. That means it will not see a correct picture
if the inode is removed from the orphan tree before it is
removed from TNC.

Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
This commit is contained in:
Adrian Hunter 2008-07-23 16:55:55 +03:00 committed by Artem Bityutskiy
parent 7d62ff2c39
commit f769108424

View File

@ -871,10 +871,11 @@ int ubifs_jnl_delete_inode(struct ubifs_info *c, const struct inode *inode)
return ubifs_jnl_write_inode(c, inode); return ubifs_jnl_write_inode(c, inode);
} }
ubifs_delete_orphan(c, inode->i_ino);
err = ubifs_tnc_remove_ino(c, inode->i_ino); err = ubifs_tnc_remove_ino(c, inode->i_ino);
if (err) if (err)
ubifs_ro_mode(c, err); ubifs_ro_mode(c, err);
else
ubifs_delete_orphan(c, inode->i_ino);
up_read(&c->commit_sem); up_read(&c->commit_sem);
return err; return err;
} }