ext4: wire up sops->shutdown
authorChristoph Hellwig <hch@lst.de>
Thu, 1 Jun 2023 09:44:58 +0000 (11:44 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 5 Jun 2023 16:53:04 +0000 (10:53 -0600)
Wire up the shutdown method to shut down the file system when the
underlying block device is marked dead.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Acked-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Link: https://lore.kernel.org/r/20230601094459.1350643-16-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/ext4/super.c

index 8656250..a177a16 100644 (file)
@@ -1450,6 +1450,11 @@ static void ext4_destroy_inode(struct inode *inode)
                         EXT4_I(inode)->i_reserved_data_blocks);
 }
 
+static void ext4_shutdown(struct super_block *sb)
+{
+       ext4_force_shutdown(sb, EXT4_GOING_FLAGS_NOLOGFLUSH);
+}
+
 static void init_once(void *foo)
 {
        struct ext4_inode_info *ei = foo;
@@ -1610,6 +1615,7 @@ static const struct super_operations ext4_sops = {
        .unfreeze_fs    = ext4_unfreeze,
        .statfs         = ext4_statfs,
        .show_options   = ext4_show_options,
+       .shutdown       = ext4_shutdown,
 #ifdef CONFIG_QUOTA
        .quota_read     = ext4_quota_read,
        .quota_write    = ext4_quota_write,