Re: [PATCH 0/3] Fix "filesystem" command when fs is on file image

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2019/5/16 下午4:42, Nikolay Borisov wrote:
> This series fixes the following use case:
>
> truncate -s 3g btrfs.img
> mkfs.btrfs btrfs.img
> btrrfs fi show .img
> ERROR: not a valid btrfs filesystem: /root/btrfs.img
>
>
> As evident this currently produces an error due to libblkid not recognising the
> image file as a filesystem. This stems from the fact progs doesn't force the
> addition of the image file to libblkid's cache. This series rectifies this.

I'm wondering if we could just fall back to open_ctree() and print
needed info using btrfs_fs_info.

open_ctree() will scan the passed device no matter if it's a block
device or a file or whatever, and get the correct result of fsid anyway.
No need to bother blkid cache or whatever.

Thanks,
Qu

>
> Patch 1 extends btrfs_scan_devices to take an optional path argument which will
> be added to libblkid's cache.
>
> Patch 2 Makes 'btrfs filesystem' Utilizes this btrfs_scan_devices' new
> interface if it detects we want to query a filesystem placed on an image file.
>
> Patch 3 Adds simple test case to ensure this works as expected and is not
> broken in the future.
>
> Nikolay Borisov (3):
>   btrfs-progs: Make btrfs_scan_devices take a path
>   btrfs-progs: Correctly identify fs on image files in "filesystem"
>     subcommands
>   btrfs-progs: tests: Test fs on image files is correctly recognised
>
>  cmds-device.c                                   |  2 +-
>  cmds-filesystem.c                               |  3 +--
>  disk-io.c                                       |  2 +-
>  tests/cli-tests/010-fi-show-on-new-file/test.sh | 16 ++++++++++++++++
>  utils.c                                         | 18 +++++++++++++++---
>  utils.h                                         |  2 +-
>  6 files changed, 35 insertions(+), 8 deletions(-)
>  create mode 100755 tests/cli-tests/010-fi-show-on-new-file/test.sh
>




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux