From: Matthew Wilcox Date: Mon, 5 Nov 2018 15:53:09 +0000 (-0500) Subject: XArray: Correct xa_store_range X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=44a4a66b619a0a83a52e707ebcd80182207bd50e;p=openwrt%2Fstaging%2Fblogic.git XArray: Correct xa_store_range The explicit '64' should have been BITS_PER_LONG, but while looking at this code I realised I meant to use __ffs(), not ilog2(). Signed-off-by: Matthew Wilcox --- diff --git a/lib/xarray.c b/lib/xarray.c index 7946380cd6c9..bbacca576593 100644 --- a/lib/xarray.c +++ b/lib/xarray.c @@ -1565,8 +1565,9 @@ void *xa_store_range(struct xarray *xa, unsigned long first, do { xas_lock(&xas); if (entry) { - unsigned int order = (last == ~0UL) ? 64 : - ilog2(last + 1); + unsigned int order = BITS_PER_LONG; + if (last + 1) + order = __ffs(last + 1); xas_set_order(&xas, last, order); xas_create(&xas); if (xas_error(&xas))