Re: [PATCH v3 00/13] fiemap extension for more physical information

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

 



On Wed, Apr 03, 2024 at 03:22:41AM -0400, 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 various additional information to fiemap,
> and extends filesystems (but not iomap) to return it.  This uses some of
> the reserved padding in the fiemap extent structure, so programs unaware
> of the changes will be unaffected.
> 
> This is based on next-20240403. I've tested the btrfs part of this with
> the standard btrfs testing matrix locally and manually, and done minimal
> testing of the non-btrfs parts.
> 
> I'm unsure whether btrfs should be returning the entire physical extent
> referenced by a particular logical range, or just the part of the
> physical extent referenced by that range. The v2 thread has a discussion
> of this.

I believe there was some talk of using the padding for a device ID, so
that fiemap could properly support multi device filesystems. Are we sure
this is the best use of those bytes?

> 
> Changelog:
> 
> v3: 
>  - Adapted all the direct users of fiemap, except iomap, to emit
>    the new fiemap information, as far as I understand the other
>    filesystems.
> 
> v2:
>  - Adopted PHYS_LEN flag and COMPRESSED flag from the previous version,
>    as per Andreas Dilger' comment.
>    https://patchwork.ozlabs.org/project/linux-ext4/patch/4f8d5dc5b51a43efaf16c39398c23a6276e40a30.1386778303.git.dsterba@xxxxxxx/
>  - https://lore.kernel.org/linux-fsdevel/cover.1711588701.git.sweettea-kernel@xxxxxxxxxx/T/#t
> 
> v1: https://lore.kernel.org/linux-fsdevel/20240315030334.GQ6184@frogsfrogsfrogs/T/#t
> 
> Sweet Tea Dorminy (13):
>   fs: fiemap: add physical_length field to extents
>   fs: fiemap: update fiemap_fill_next_extent() signature
>   fs: fiemap: add new COMPRESSED extent state
>   btrfs: fiemap: emit new COMPRESSED state.
>   btrfs: fiemap: return extent physical size
>   nilfs2: fiemap: return correct extent physical length
>   ext4: fiemap: return correct extent physical length
>   f2fs: fiemap: add physical length to trace_f2fs_fiemap
>   f2fs: fiemap: return correct extent physical length
>   ocfs2: fiemap: return correct extent physical length
>   bcachefs: fiemap: return correct extent physical length
>   f2fs: fiemap: emit new COMPRESSED state
>   bcachefs: fiemap: emit new COMPRESSED state
> 
>  Documentation/filesystems/fiemap.rst | 35 ++++++++++----
>  fs/bcachefs/fs.c                     | 17 +++++--
>  fs/btrfs/extent_io.c                 | 72 ++++++++++++++++++----------
>  fs/ext4/extents.c                    |  3 +-
>  fs/f2fs/data.c                       | 36 +++++++++-----
>  fs/f2fs/inline.c                     |  7 +--
>  fs/ioctl.c                           | 11 +++--
>  fs/iomap/fiemap.c                    |  2 +-
>  fs/nilfs2/inode.c                    | 18 ++++---
>  fs/ntfs3/frecord.c                   |  7 +--
>  fs/ocfs2/extent_map.c                | 10 ++--
>  fs/smb/client/smb2ops.c              |  1 +
>  include/linux/fiemap.h               |  2 +-
>  include/trace/events/f2fs.h          | 10 ++--
>  include/uapi/linux/fiemap.h          | 34 ++++++++++---
>  15 files changed, 178 insertions(+), 87 deletions(-)
> 
> 
> base-commit: 75e31f66adc4c8d049e8aac1f079c1639294cd65
> -- 
> 2.43.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