On Wed, May 30, 2018 at 10:36:46AM +0200, Miklos Szeredi wrote: > On Tue, May 29, 2018 at 4:12 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > > On Tue, May 29, 2018 at 3:59 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > >>> vfs: export vfs_dedupe_file_range_one() to modules > >> > >> Please use EXPORT_SYMBOL_GPL for all these crazy low-level exports. > > I'd argue with the "crazy" part. This should have been the primary > interface from the start. The batched dedupe interface is the crazy > one: > > - deduping is page size granularity at worst; performance would not > be horrible even if we had to do one syscall per page > - vast majority of the time it will be file size granularity > > Why was that batching invented in the first place? No idea - the batching ioctl interface is what we inherited from the btrfs ioctl years ago and there are several dedupe applications out there that use it. That's why we pulled it up to the vfs rather than invent a new one and have to wait years for apps to start using it... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx