Messages in this thread | | | From | Miklos Szeredi <> | Date | Tue, 5 Jun 2018 10:33:22 +0200 | Subject | Re: [PATCH 01/39] vfs: dedpue: return loff_t |
| |
On Mon, Jun 4, 2018 at 10:43 AM, Christoph Hellwig <hch@infradead.org> wrote: > On Tue, May 29, 2018 at 04:43:01PM +0200, Miklos Szeredi wrote: >> f_op->dedupe_file_range() gets a u64 length to dedup and returns an ssize_t >> actual length deduped. This breaks badly on 32bit archs since the returned >> length will be truncated and possibly overflow into the sign bit (xfs and >> ocfs2 are affected, btrfs limits actual length to 16MiB). > > Can we just make it return 0 vs errno? The only time we return > a different length than the one passed in is due to the btrfs cap. > > Given that this API started out on btrfs we should just do the cap > everywhere to not confuse userspace.
And that's a completely arbitrary cap; sure btrfs started out with that, but there's no fundamental reason for that becoming the global limit. Xfs now added a different, larger limit, so based on what reason should that limit be reduced?
I don't care either way, but at this stage I'm not going to change this patch, unless there's a very good reason to do so, because if I do someone will come and suggest another improvement, ad-infinitum...
Thanks, Miklos
| |