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