diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2018-02-11 14:57:58 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2018-02-11 14:57:58 -0500 |
commit | 01cede4b4502df82958703963b65a20d479d5f17 (patch) | |
tree | 82df7a7ddc5176f078b9ebef20fd603b5acb5099 /fs/bcachefs/util.h | |
parent | 4506cd5ead31209a6a646c2412cbc7be735ebda4 (diff) |
allocator striping wipalloc_striping
Diffstat (limited to 'fs/bcachefs/util.h')
-rw-r--r-- | fs/bcachefs/util.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/fs/bcachefs/util.h b/fs/bcachefs/util.h index 6e97e83184e1..9aadb7371ffb 100644 --- a/fs/bcachefs/util.h +++ b/fs/bcachefs/util.h @@ -817,4 +817,19 @@ do { \ #define array_remove_item(_array, _nr, _pos) \ array_remove_items(_array, _nr, _pos, 1) +#define bubble_sort(_base, _nr, _cmp) \ +do { \ + unsigned _i, _end; \ + bool _swapped = true; \ + \ + for (_end = (_nr) - 1; _end && _swapped; --_end) { \ + _swapped = false; \ + for (_i = 0; _i < _end; _i++) \ + if (_cmp((_base)[_i], (_base)[_i + 1]) > 0) { \ + swap((_base)[_i], (_base)[_i + 1]); \ + _swapped = true; \ + } \ + } \ +} while (0) + #endif /* _BCACHEFS_UTIL_H */ |