Messages in this thread | | | Date | Mon, 8 Feb 2021 16:19:20 +0100 | From | Christoph Hellwig <> | Subject | Re: [PATCH 5/7] fsdax: Dedup file range to use a compare function |
| |
On Mon, Feb 08, 2021 at 01:09:22AM +0800, Shiyang Ruan wrote: > With dax we cannot deal with readpage() etc. So, we create a > funciton callback to perform the file data comparison and pass
s/funciton/function/g
> +#define MIN(a, b) (((a) < (b)) ? (a) : (b))
This should use the existing min or min_t helpers.
> int generic_remap_file_range_prep(struct file *file_in, loff_t pos_in, > struct file *file_out, loff_t pos_out, > - loff_t *len, unsigned int remap_flags) > + loff_t *len, unsigned int remap_flags, > + compare_range_t compare_range_fn)
Can we keep generic_remap_file_range_prep as-is, and add a new dax_remap_file_range_prep, both sharing a low-level __generic_remap_file_range_prep implementation? And for that implementation I'd also go for classic if/else instead of the function pointer.
> +extern int vfs_dedupe_file_range_compare(struct inode *src, loff_t srcoff, > + struct inode *dest, loff_t destoff, > + loff_t len, bool *is_same);
no need for the extern.
| |