NFS: switch back to using kill_anon_super
authorChristoph Hellwig <hch@lst.de>
Thu, 31 Aug 2023 05:29:40 +0000 (07:29 +0200)
committerChristian Brauner <brauner@kernel.org>
Thu, 31 Aug 2023 10:47:16 +0000 (12:47 +0200)
NFS switch to open coding kill_anon_super in 7b14a213890a
("nfs: don't call bdi_unregister") to avoid the extra bdi_unregister
call.  At that point bdi_destroy was called in nfs_free_server and
thus it required a later freeing of the anon dev_t.  But since
0db10944a76b ("nfs: Convert to separately allocated bdi") the bdi has
been free implicitly by the sb destruction, so this isn't needed
anymore.

By not open coding kill_anon_super, nfs now inherits the fix in
dc3216b14160 ("super: ensure valid info"), and we remove the only
open coded version of kill_anon_super.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Message-Id: <20230831052940.256193-1-hch@lst.de>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/nfs/super.c

index 2284f749d8924612e790c0f4b1b69168a0cd9f0e..0d6473cb00cb3e0fd2736e7aeccd95ad588c8642 100644 (file)
@@ -1339,15 +1339,13 @@ error_splat_super:
 void nfs_kill_super(struct super_block *s)
 {
        struct nfs_server *server = NFS_SB(s);
-       dev_t dev = s->s_dev;
 
        nfs_sysfs_move_sb_to_server(server);
-       generic_shutdown_super(s);
+       kill_anon_super(s);
 
        nfs_fscache_release_super_cookie(s);
 
        nfs_free_server(server);
-       free_anon_bdev(dev);
 }
 EXPORT_SYMBOL_GPL(nfs_kill_super);