ubifs: journal: Make sure to not dirty twice for auth nodes
commit 78c7d49f55d8631b67c09f9bfbe8155211a9ea06 upstream. When removing the last reference of an inode the size of an auth node is already part of write_len. So we must not call ubifs_add_auth_dirt(). Call it only when needed. Cc: <stable@vger.kernel.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Kristof Havasi <havasiefr@gmail.com> Fixes: 6a98bc4614de ("ubifs: Add authentication nodes to journal") Reported-and-tested-by: Kristof Havasi <havasiefr@gmail.com> Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Richard Weinberger <richard@nod.at> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a779274697
commit
bc202c839b
@ -938,8 +938,6 @@ int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode)
|
||||
inode->i_ino);
|
||||
release_head(c, BASEHD);
|
||||
|
||||
ubifs_add_auth_dirt(c, lnum);
|
||||
|
||||
if (last_reference) {
|
||||
err = ubifs_tnc_remove_ino(c, inode->i_ino);
|
||||
if (err)
|
||||
@ -949,6 +947,8 @@ int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode)
|
||||
} else {
|
||||
union ubifs_key key;
|
||||
|
||||
ubifs_add_auth_dirt(c, lnum);
|
||||
|
||||
ino_key_init(c, &key, inode->i_ino);
|
||||
err = ubifs_tnc_add(c, &key, lnum, offs, ilen, hash);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user