lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 15 Jan 2020 14:31:01 +0100
From:   Christoph Hellwig <>
To:     Qu Wenruo <>
Cc:     Andreas Dilger <>,
        David Howells <>,
        linux-fsdevel <>,
        Al Viro <>,
        Christoph Hellwig <>,
        "Theodore Y. Ts'o" <>,
        "Darrick J. Wong" <>,
        Chris Mason <>, Josef Bacik <>,
        David Sterba <>,
        linux-ext4 <>,
        linux-xfs <>,
        linux-btrfs <>,
        Linux Kernel Mailing List <>
Subject: Re: Problems with determining data presence by examining extents?

On Wed, Jan 15, 2020 at 09:10:44PM +0800, Qu Wenruo wrote:
> > That allows userspace to distinguish fe_physical addresses that may be
> > on different devices.  This isn't in the kernel yet, since it is mostly
> > useful only for Btrfs and nobody has implemented it there.  I can give
> > you details if working on this for Btrfs is of interest to you.
> IMHO it's not good enough.
> The concern is, one extent can exist on multiple devices (mirrors for
> RAID1/RAID10/RAID1C2/RAID1C3, or stripes for RAID5/6).
> I didn't see how it can be easily implemented even with extra fields.
> And even we implement it, it can be too complex or bug prune to fill
> per-device info.

It's also completely bogus for the use cases to start with.  fiemap
is a debug tool reporting the file system layout.  Using it for anything
related to actual data storage and data integrity is a receipe for
disaster.  As said the right thing for the use case would be something
like the NFS READ_PLUS operation.  If we can't get that easily it can
be emulated using lseek SEEK_DATA / SEEK_HOLE assuming no other thread
could be writing to the file, or the raciness doesn't matter.

Powered by blists - more mailing lists