Message ID | 1721235534-2755-1-git-send-email-zhanglikernel@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [V3] btrfs: print error message if bdev_file_open_by_path function fails during mount. | expand |
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.
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);
[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(+)