Commit 7b7a8ca4 authored by Al Viro's avatar Al Viro
Browse files

pstore: switch to locked_recursive_removal()



rather than playing with manual d_invalidate()

Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent eacb58fd
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -300,7 +300,7 @@ static struct dentry *psinfo_lock_root(void)
		return NULL;

	root = pstore_sb->s_root;
	inode_lock(d_inode(root));
	inode_lock_nested(d_inode(root), I_MUTEX_PARENT);

	return root;
}
@@ -318,8 +318,7 @@ int pstore_put_backend_records(struct pstore_info *psi)
		list_for_each_entry_safe(pos, tmp, &records_list, list) {
			if (pos->record->psi == psi) {
				list_del_init(&pos->list);
				d_invalidate(pos->dentry);
				simple_unlink(d_inode(root), pos->dentry);
				locked_recursive_removal(pos->dentry, NULL);
				pos->dentry = NULL;
			}
		}