diff options
Diffstat (limited to 'io_uring/filetable.c')
| -rw-r--r-- | io_uring/filetable.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/io_uring/filetable.c b/io_uring/filetable.c index ff74d41d9e53..aa9f0abcd8ee 100644 --- a/io_uring/filetable.c +++ b/io_uring/filetable.c @@ -22,6 +22,10 @@ static int io_file_bitmap_get(struct io_ring_ctx *ctx) if (!table->bitmap) return -ENFILE; + if (table->alloc_hint < ctx->file_alloc_start || + table->alloc_hint >= ctx->file_alloc_end) + table->alloc_hint = ctx->file_alloc_start; + do { ret = find_next_zero_bit(table->bitmap, nr, table->alloc_hint); if (ret != nr) |
