• Li Zhang's avatar
    btrfs: print message on device opening error during mount · 45714ff7
    Li Zhang authored
    [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: default avatarLi Zhang <zhanglikernel@gmail.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    45714ff7
volumes.c 221 KB