Re: [PATCH v4 2/2] btrfs-progs: cmds: Add subcommand that dumps file extents
From: Sidong Yang <hidden>
Date: 2021-08-19 15:27:23
On Thu, Aug 19, 2021 at 02:05:52PM +0800, Qu Wenruo wrote:
On 2021/8/19 下午2:03, Qu Wenruo wrote:quoted
On 2021/8/18 上午8:38, Sidong Yang wrote:quoted
On Tue, Aug 17, 2021 at 03:30:22PM +0200, David Sterba wrote:quoted
On Sun, Jul 18, 2021 at 06:46:01AM +0000, Sidong Yang wrote:quoted
This patch adds an subcommand in inspect-internal. It dumps file extents of the file that user provided. It helps to show the internal information about file extents comprise the file.Do you have an example of the output? That's the most interesting part. Thanks.Thanks for reply. This is an example of the output below. # ./btrfs inspect-internal dump-file-extent /mnt/test1 type = regular, start = 2097152, len = 3227648, disk_bytenr = 0, disk_num_bytes = 0, offset = 0, compression = none type = regular, start = 5324800, len = 16728064, disk_bytenr = 0, disk_num_bytes = 0, offset = 0, compression = none type = regular, start = 22052864, len = 8486912, disk_bytenr = 0, disk_num_bytes = 0, offset = 0, compression = none type = regular, start = 30572544, len = 36540416, disk_bytenr = 0, disk_num_bytes = 0, offset = 0, compression = none type = regular, start = 67112960, len = 5299630080, disk_bytenr = 0, disk_num_bytes = 0, offset = 0, compression = noneCould you give an example which includes both real (non-hole) extents and real extents (better to include regular, compressed, preallocated and inline).Tons of typos... I mean to include both holes (like the existing example) and non-holes extents...
Sorry, I had no idea about holes. But I found some test code in xfstests. It helpes me to make hole in file. xfs_io -c "fpunch 96K 32K" /mnt/a/foobar xfs_io -c "fpunch 64K 128K" /mnt/a/foobar and the example is below. # ./btrfs inspect dump-file-extent /mnt/a/foobar type = regular, start = 0, len = 98304, disk_bytenr = 21651456, disk_num_bytes = 4096, offset = 0, compression = zstd type = regular, start = 98304, len = 32768, disk_bytenr = 0, disk_num_bytes = 0, offset = 0, compression = none I'm afaid that I understand your request correctly. Is it what you want?
quoted
Currently the output only contains holes, and for holes, a lot of members makes no sense, like disk_bytenr/disk_num_bytes/offset (even it can be non-zero) and compression. Thanks, Ququoted
Thanks, Sidong