]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: output the reason for open_ctree() failure
authorQu Wenruo <wqu@suse.com>
Tue, 10 Dec 2024 04:53:06 +0000 (15:23 +1030)
committerDavid Sterba <dsterba@suse.com>
Mon, 13 Jan 2025 13:53:15 +0000 (14:53 +0100)
There is a recent ML report that mounting a large fs backed by hardware
RAID56 controller (with one device missing) took too much time, and
systemd seems to kill the mount attempt.

In that case, the only error message is:

  BTRFS error (device sdj): open_ctree failed

There is no reason on why the failure happened, making it very hard to
understand the reason.

At least output the error number (in the particular case it should be
-EINTR) to provide some clue.

Link: https://lore.kernel.org/linux-btrfs/9b9c4d2810abcca2f9f76e32220ed9a90febb235.camel@scientia.org/
Reported-by: Christoph Anton Mitterer <calestyo@scientia.org>
Cc: stable@vger.kernel.org
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/super.c

index 7dfe5005129a1dd554a2271cf012a0b200b40b73..f6eaaf20229d843641569338884f77651ed67d48 100644 (file)
@@ -971,7 +971,7 @@ static int btrfs_fill_super(struct super_block *sb,
 
        err = open_ctree(sb, fs_devices);
        if (err) {
-               btrfs_err(fs_info, "open_ctree failed");
+               btrfs_err(fs_info, "open_ctree failed: %d", err);
                return err;
        }