Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b32714ba authored by Arjan van de Ven's avatar Arjan van de Ven
Browse files

partial revert of asynchronous inode delete



let the core of this one bake in -next as well, but leave
some of the infrastructure in place.

Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
parent 7c51d57e
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -1139,11 +1139,16 @@ EXPORT_SYMBOL(remove_inode_hash);
 * I_FREEING is set so that no-one will take a new reference to the inode while
 * it is being deleted.
 */
static void generic_delete_inode_async(void *data, async_cookie_t cookie)
void generic_delete_inode(struct inode *inode)
{
	struct inode *inode = data;
	const struct super_operations *op = inode->i_sb->s_op;

	list_del_init(&inode->i_list);
	list_del_init(&inode->i_sb_list);
	inode->i_state |= I_FREEING;
	inodes_stat.nr_inodes--;
	spin_unlock(&inode_lock);

	security_inode_delete(inode);

	if (op->delete_inode) {
@@ -1167,16 +1172,6 @@ static void generic_delete_inode_async(void *data, async_cookie_t cookie)
	destroy_inode(inode);
}

void generic_delete_inode(struct inode *inode)
{
	list_del_init(&inode->i_list);
	list_del_init(&inode->i_sb_list);
	inode->i_state |= I_FREEING;
	inodes_stat.nr_inodes--;
	spin_unlock(&inode_lock);
	async_schedule_special(generic_delete_inode_async, inode, &inode->i_sb->s_async_list);
}

EXPORT_SYMBOL(generic_delete_inode);

static void generic_forget_inode(struct inode *inode)