Re: [PATCH 0/3] fiemap extension to add physical extent length

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

 



On Fri, Mar 08, 2024 at 01:03:17PM -0500, Sweet Tea Dorminy wrote:
> For many years, various btrfs users have written programs to discover
> the actual disk space used by files, using root-only interfaces.
> However, this information is a great fit for fiemap: it is inherently
> tied to extent information, all filesystems can use it, and the
> capabilities required for FIEMAP make sense for this additional
> information also.
> 
> Hence, this patchset adds physical extent length information to fiemap,
> and extends btrfs to return it.  This uses some of the reserved padding
> in the fiemap extent structure, so programs unaware of the new field
> will be unaffected by its presence.
> 
> This is based on next-20240307. I've tested the btrfs part of this with
> the standard btrfs testing matrix locally, and verified that the physical extent
> information returned there is correct, but I'm still waiting on more
> tests. Please let me know what you think of the general idea!

Seems useful!  Any chance you'd be willing to pick up this old proposal
to report the dev_t through iomap?  iirc the iomap wrappers for fiemap
can export that pretty easily.

https://lore.kernel.org/linux-fsdevel/20190211094306.fjr6gfehcstm7eqq@xxxxxxxxxxxxxxxxxxxxxxxx/

(Not sure what we do for pmem filesystems)

--D

> Sweet Tea Dorminy (3):
>   fs: add physical_length field to fiemap extents
>   fs: update fiemap_fill_next_extent() signature
>   btrfs: fiemap: return extent physical size
> 
>  Documentation/filesystems/fiemap.rst | 29 +++++++++----
>  fs/bcachefs/fs.c                     |  6 ++-
>  fs/btrfs/extent_io.c                 | 63 +++++++++++++++++-----------
>  fs/ext4/extents.c                    |  1 +
>  fs/f2fs/data.c                       |  8 ++--
>  fs/f2fs/inline.c                     |  3 +-
>  fs/ioctl.c                           |  8 ++--
>  fs/iomap/fiemap.c                    |  2 +-
>  fs/nilfs2/inode.c                    |  8 ++--
>  fs/ntfs3/frecord.c                   |  6 ++-
>  fs/ocfs2/extent_map.c                |  4 +-
>  fs/smb/client/smb2ops.c              |  1 +
>  include/linux/fiemap.h               |  2 +-
>  include/uapi/linux/fiemap.h          | 24 +++++++----
>  14 files changed, 108 insertions(+), 57 deletions(-)
> 
> 
> base-commit: 1843e16d2df9d98427ef8045589571749d627cf7
> -- 
> 2.44.0
> 
> 




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux