From 8c3318adf46a7f2d3026ea08f66e8483a4971ca4 Mon Sep 17 00:00:00 2001 From: Peter Georg Date: Mon, 23 Aug 2021 14:27:25 +0200 Subject: [PATCH] Compat for missing inode method ->free_inode() Introduced upstream in fdb0da89f4ba0c74d7d3b9e6f471e96a5766820b --- src/super.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/super.c b/src/super.c index a3d3b39..af81722 100644 --- a/src/super.c +++ b/src/super.c @@ -191,14 +191,20 @@ static struct inode *exfat_alloc_inode(struct super_block *sb) return &ei->vfs_inode; } -static void exfat_free_inode(struct inode *inode) +static void exfat_i_callback(struct rcu_head *head) { + struct inode *inode = container_of(head, struct inode, i_rcu); kmem_cache_free(exfat_inode_cachep, EXFAT_I(inode)); } +static void exfat_destroy_inode(struct inode *inode) +{ + call_rcu(&inode->i_rcu, exfat_i_callback); +} + static const struct super_operations exfat_sops = { .alloc_inode = exfat_alloc_inode, - .free_inode = exfat_free_inode, + .destroy_inode = exfat_destroy_inode, .write_inode = exfat_write_inode, .evict_inode = exfat_evict_inode, .put_super = exfat_put_super, -- 2.31.1