Re: [PATCH 1/1] device-dax: delete a redundancy check in dev_dax_validate_align()

From: Leizhen (ThunderTown)
Date: Fri Nov 20 2020 - 04:27:53 EST




On 2020/11/20 17:20, Zhen Lei wrote:
> After we have done the alignment check for the length of each range, the
> alignment check for dev_dax_size(dev_dax) is no longer needed, because it
> get the sum of the length of each range.

For example:
x/M + y/M = (x + y)/M
If x/M is a integer and y/M is also a integer, then (x + y)/M must be a integer.

>
> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx>
> ---
> drivers/dax/bus.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c
> index 1efae11d947a..35f9238c0139 100644
> --- a/drivers/dax/bus.c
> +++ b/drivers/dax/bus.c
> @@ -1109,16 +1109,9 @@ static ssize_t align_show(struct device *dev,
>
> static ssize_t dev_dax_validate_align(struct dev_dax *dev_dax)
> {
> - resource_size_t dev_size = dev_dax_size(dev_dax);
> struct device *dev = &dev_dax->dev;
> int i;
>
> - if (dev_size > 0 && !alloc_is_aligned(dev_dax, dev_size)) {
> - dev_dbg(dev, "%s: align %u invalid for size %pa\n",
> - __func__, dev_dax->align, &dev_size);
> - return -EINVAL;
> - }
> -
> for (i = 0; i < dev_dax->nr_range; i++) {
> size_t len = range_len(&dev_dax->ranges[i].range);
>
>