diff options
author | Alan Cox <alc@FreeBSD.org> | 2018-12-05 18:26:40 +0000 |
---|---|---|
committer | Alan Cox <alc@FreeBSD.org> | 2018-12-05 18:26:40 +0000 |
commit | 749cdf6f3ba78a5c02b249265a08c29cf999e0cf (patch) | |
tree | a13a5ac57ba417c844cdb05c0fff4bf7e56ff230 /sbin/fsirand | |
parent | 5e97950ded5ee0ed144a69e0c08d70fc5355adf2 (diff) | |
download | src-749cdf6f3ba78a5c02b249265a08c29cf999e0cf.tar.gz src-749cdf6f3ba78a5c02b249265a08c29cf999e0cf.zip |
Terminate a blist_alloc search when a blst_meta_alloc call fails with
cursor == 0.
Every call to blst_meta_alloc but the one at the root is made only when the
meta-node is known to include a free block, so that either the allocation
will succeed, the node hint will be updated, or the last block of the meta-
node range is, and remains, free. But the call at the root is made without
checking that there is a free block, so in the case that every block is
allocated, there is no hint update to prevent the current code from looping
forever.
Submitted by: Doug Moore <dougm@rice.edu>
Reported by: pho
Reviewed by: pho
Tested by: pho
X-MFC with: r340402
Differential Revision: https://reviews.freebsd.org/D17999
Notes
Notes:
svn path=/head/; revision=341602
Diffstat (limited to 'sbin/fsirand')
0 files changed, 0 insertions, 0 deletions