diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2020-06-24 13:37:23 +0200 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2020-06-24 15:01:03 +0200 |
commit | 6eb9eba59bf53101b5148ace3ddaf4140592495f (patch) | |
tree | 563a6d40754c99dece741fdb3ae0a1d35585faa9 | |
parent | 04bba5ea421b02275197bfb16b4d1bbf8879b240 (diff) | |
download | lvm2-6eb9eba59bf53101b5148ace3ddaf4140592495f.tar.gz |
bcache: support longer writes
When initiated larger write request, it may have happened, bcache
got out of free chunks - fix the loop, that is supposed to wait
until next free chunk becomes avain available.
-rw-r--r-- | WHATS_NEW | 1 | ||||
-rw-r--r-- | lib/device/bcache.c | 2 |
2 files changed, 2 insertions, 1 deletions
@@ -1,5 +1,6 @@ Version 2.03.10 - ================================= + Fix running out of free buffers for async writing for larger writes. Add integrity with raid capability. Fix support for lvconvert --repair used by foreign apps (i.e. Docker). diff --git a/lib/device/bcache.c b/lib/device/bcache.c index a7d805526..7e7e18542 100644 --- a/lib/device/bcache.c +++ b/lib/device/bcache.c @@ -950,7 +950,7 @@ static struct block *_new_block(struct bcache *cache, int fd, block_address i, b struct block *b; b = _alloc_block(cache); - while (!b && !dm_list_empty(&cache->clean)) { + while (!b) { b = _find_unused_clean_block(cache); if (!b) { if (can_wait) { |