diff options
author | Matthew Wilcox <willy@infradead.org> | 2018-11-05 10:53:09 -0500 |
---|---|---|
committer | Matthew Wilcox <willy@infradead.org> | 2018-11-16 16:27:28 -0500 |
commit | 44a4a66b619a0a83a52e707ebcd80182207bd50e (patch) | |
tree | bbeb75a86cf6ded31ba8a81db45fae19bbb34ad2 /lib/xarray.c | |
parent | 804dfaf01bcc9daa4298c608ba9018abf616ec48 (diff) |
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 <willy@infradead.org>
Diffstat (limited to 'lib/xarray.c')
-rw-r--r-- | lib/xarray.c | 5 |
1 files changed, 3 insertions, 2 deletions
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, | |||
1565 | do { | 1565 | do { |
1566 | xas_lock(&xas); | 1566 | xas_lock(&xas); |
1567 | if (entry) { | 1567 | if (entry) { |
1568 | unsigned int order = (last == ~0UL) ? 64 : | 1568 | unsigned int order = BITS_PER_LONG; |
1569 | ilog2(last + 1); | 1569 | if (last + 1) |
1570 | order = __ffs(last + 1); | ||
1570 | xas_set_order(&xas, last, order); | 1571 | xas_set_order(&xas, last, order); |
1571 | xas_create(&xas); | 1572 | xas_create(&xas); |
1572 | if (xas_error(&xas)) | 1573 | if (xas_error(&xas)) |