On Thu, Aug 30, 2018 at 11:35:46AM -0500, Eric Sandeen wrote: > On 8/30/18 11:36 AM, Christoph Hellwig wrote: > > On Thu, Aug 30, 2018 at 11:31:40AM -0500, Eric Sandeen wrote: > >> That's no reason to uniquely disallow it for reflinked files, though; > >> the problem is universal. It's true for fiemap as well. So I'm not sure > >> that's an argument against the patch? > > > > fiemap at least tells you an extent is shared, bmap does not. > > yes, so bmap is clearly the wrong interface to use if you want to > write directly to a file's blocks. But if you know enough to check > the fiemap shared flag, you know enough to not use fibmap for that purpose... > FWIW, this patch seems reasonable to me. To Christoph's point, I don't think either interface really grants license to write to the underlying blocks, so either way it's technically being abused for this purpose. Unless there's a clear way to return an error for a particular type of file, I think it's reasonable behavior for fibmap to expose the data it supports (i.e., block maps) and drop the data it doesn't (reflink state). Brian > -Eric