* [PATCH V3] btrfs: print error message if bdev_file_open_by_path function fails during mount.
@ 2024-07-17 16:58 Li Zhang
2024-07-30 13:41 ` David Sterba
0 siblings, 1 reply; 2+ messages in thread
From: Li Zhang @ 2024-07-17 16:58 UTC (permalink / raw)
To: linux-btrfs; +Cc: Li Zhang
[ENHANCEMENT]
When mounting a btrfs filesystem, the filesystem opens the
block device, and if this fails, there is no message about
it. print a message about it to help debugging.
[TEST]
I have a btrfs filesystem on three block devices,
one of which is write-protected, so regular mounts fail,
but there is no message in dmesg.
/dev/vdb normal
/dev/vdc write protected
/dev/vdd normal
Before patch:
$ sudo mount /dev/vdb /mnt/
mount: mount(2) failed: no such file or directory
$ sudo dmesg # Show only messages about missing block devices
....
[ 352.947196] BTRFS error (device vdb): devid 2 uuid 4ee2c625-a3b2-4fe0-b411-756b23e08533 missing
....
After patch:
$ sudo mount /dev/vdb /mnt/
mount: mount(2) failed: no such file or directory
$ sudo dmesg # Show bdev_file_open_by_path failed.
....
[ 352.944328] BTRFS error: failed to open device for path /dev/vdc with flags 0x3: -13
[ 352.947196] BTRFS error (device vdb): missing devid 2 uuid 4ee2c625-a3b2-4fe0-b411-756b23e08533
....
Signed-off-by: Li Zhang <zhanglikernel@gmail.com>
---
V1:
Use printk to print messages
V2:
Use btrfs_err to print messages and format output
V3:
Fix typo
Format description
fs/btrfs/volumes.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index c39145e..315d35a 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -476,6 +476,7 @@ static noinline struct btrfs_fs_devices *find_fsid(
if (IS_ERR(*bdev_file)) {
ret = PTR_ERR(*bdev_file);
+ btrfs_err(NULL, "failed to open device for path %s with flags 0x%x: %d", device_path, flags, ret);
goto error;
}
bdev = file_bdev(*bdev_file);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH V3] btrfs: print error message if bdev_file_open_by_path function fails during mount.
2024-07-17 16:58 [PATCH V3] btrfs: print error message if bdev_file_open_by_path function fails during mount Li Zhang
@ 2024-07-30 13:41 ` David Sterba
0 siblings, 0 replies; 2+ messages in thread
From: David Sterba @ 2024-07-30 13:41 UTC (permalink / raw)
To: Li Zhang; +Cc: linux-btrfs
On Thu, Jul 18, 2024 at 12:58:54AM +0800, Li Zhang wrote:
> [ENHANCEMENT]
> When mounting a btrfs filesystem, the filesystem opens the
> block device, and if this fails, there is no message about
> it. print a message about it to help debugging.
>
> [TEST]
> I have a btrfs filesystem on three block devices,
> one of which is write-protected, so regular mounts fail,
> but there is no message in dmesg.
>
> /dev/vdb normal
> /dev/vdc write protected
> /dev/vdd normal
>
> Before patch:
> $ sudo mount /dev/vdb /mnt/
> mount: mount(2) failed: no such file or directory
> $ sudo dmesg # Show only messages about missing block devices
> ....
> [ 352.947196] BTRFS error (device vdb): devid 2 uuid 4ee2c625-a3b2-4fe0-b411-756b23e08533 missing
> ....
>
> After patch:
> $ sudo mount /dev/vdb /mnt/
> mount: mount(2) failed: no such file or directory
> $ sudo dmesg # Show bdev_file_open_by_path failed.
> ....
> [ 352.944328] BTRFS error: failed to open device for path /dev/vdc with flags 0x3: -13
> [ 352.947196] BTRFS error (device vdb): missing devid 2 uuid 4ee2c625-a3b2-4fe0-b411-756b23e08533
> ....
>
> Signed-off-by: Li Zhang <zhanglikernel@gmail.com>
Added to for-next, thanks.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-07-30 13:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-17 16:58 [PATCH V3] btrfs: print error message if bdev_file_open_by_path function fails during mount Li Zhang
2024-07-30 13:41 ` David Sterba
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.