Commit c934dc92 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Christian Brauner

exfat: don't RCU-free the sbi

There are no RCU critical sections for accessing any information in the
sbi, so drop the call_rcu indirection for freeing the sbi.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Message-Id: <20230809220545.1308228-10-hch@lst.de>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 1489dffd
...@@ -273,8 +273,6 @@ struct exfat_sb_info { ...@@ -273,8 +273,6 @@ struct exfat_sb_info {
spinlock_t inode_hash_lock; spinlock_t inode_hash_lock;
struct hlist_head inode_hashtable[EXFAT_HASH_SIZE]; struct hlist_head inode_hashtable[EXFAT_HASH_SIZE];
struct rcu_head rcu;
}; };
#define EXFAT_CACHE_VALID 0 #define EXFAT_CACHE_VALID 0
......
...@@ -31,16 +31,6 @@ static void exfat_free_iocharset(struct exfat_sb_info *sbi) ...@@ -31,16 +31,6 @@ static void exfat_free_iocharset(struct exfat_sb_info *sbi)
kfree(sbi->options.iocharset); kfree(sbi->options.iocharset);
} }
static void exfat_delayed_free(struct rcu_head *p)
{
struct exfat_sb_info *sbi = container_of(p, struct exfat_sb_info, rcu);
unload_nls(sbi->nls_io);
exfat_free_iocharset(sbi);
exfat_free_upcase_table(sbi);
kfree(sbi);
}
static void exfat_put_super(struct super_block *sb) static void exfat_put_super(struct super_block *sb)
{ {
struct exfat_sb_info *sbi = EXFAT_SB(sb); struct exfat_sb_info *sbi = EXFAT_SB(sb);
...@@ -50,7 +40,10 @@ static void exfat_put_super(struct super_block *sb) ...@@ -50,7 +40,10 @@ static void exfat_put_super(struct super_block *sb)
brelse(sbi->boot_bh); brelse(sbi->boot_bh);
mutex_unlock(&sbi->s_lock); mutex_unlock(&sbi->s_lock);
call_rcu(&sbi->rcu, exfat_delayed_free); unload_nls(sbi->nls_io);
exfat_free_iocharset(sbi);
exfat_free_upcase_table(sbi);
kfree(sbi);
} }
static int exfat_sync_fs(struct super_block *sb, int wait) static int exfat_sync_fs(struct super_block *sb, int wait)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment