mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
bitmap: Return size when no zero area is found
Return the bitmap size, rather than size + 1, when bitmap_find_next_zero_area_off() cannot find a suitable area. This matches the conventional find_bit() failure sentinel and still lets callers detect failure with an out-of-range check. Document the public failure contract as a value greater than or equal to the bitmap size, without requiring callers to depend on the exact sentinel. Signed-off-by: Yury Norov <ynorov@nvidia.com>
This commit is contained in:
parent
e46185c139
commit
bf7e3686b7
|
|
@ -209,6 +209,9 @@ unsigned long bitmap_find_next_zero_area_off(unsigned long *map,
|
|||
* The @align_mask should be one less than a power of 2; the effect is that
|
||||
* the bit offset of all zero areas this function finds is multiples of that
|
||||
* power of 2. A @align_mask of 0 means no alignment is required.
|
||||
*
|
||||
* Return: The bit offset of the found area or a value >= @size
|
||||
* if no area is found.
|
||||
*/
|
||||
static __always_inline
|
||||
unsigned long bitmap_find_next_zero_area(unsigned long *map,
|
||||
|
|
|
|||
10
lib/bitmap.c
10
lib/bitmap.c
|
|
@ -424,6 +424,9 @@ EXPORT_SYMBOL(__bitmap_clear);
|
|||
* The @align_mask should be one less than a power of 2; the effect is that
|
||||
* the bit offset of all zero areas this function finds plus @align_offset
|
||||
* is multiple of that power of 2.
|
||||
*
|
||||
* Return: The bit offset of the found area or a value greater than or equal
|
||||
* to @size if no area is found.
|
||||
*/
|
||||
unsigned long bitmap_find_next_zero_area_off(unsigned long *map,
|
||||
unsigned long size,
|
||||
|
|
@ -448,12 +451,7 @@ unsigned long bitmap_find_next_zero_area_off(unsigned long *map,
|
|||
start = i;
|
||||
}
|
||||
|
||||
/*
|
||||
* Here, returning size + 1 is to maintain consistency
|
||||
* with the old version, where the return value is always
|
||||
* greater than size when no zero areas are found.
|
||||
*/
|
||||
return size + 1;
|
||||
return size;
|
||||
}
|
||||
EXPORT_SYMBOL(bitmap_find_next_zero_area_off);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user