Avoid the limitation of 255 disks for the IO subsystem

This commit is contained in:
Andrea Mazzoleni 2026-05-21 15:12:57 +02:00
parent d2edddea0a
commit 5a664a4100
2 changed files with 6 additions and 6 deletions

View file

@ -570,7 +570,7 @@ static struct snapraid_task* io_task_read_thread(struct snapraid_io* io, unsigne
thread_mutex_lock(&io->io_mutex); thread_mutex_lock(&io->io_mutex);
while (1) { while (1) {
unsigned char* let; unsigned* let;
unsigned busy_index; unsigned busy_index;
/* get the index the IO is using */ /* get the index the IO is using */
@ -658,7 +658,7 @@ static void io_parity_write_thread(struct snapraid_io* io, unsigned* pos, unsign
thread_mutex_lock(&io->io_mutex); thread_mutex_lock(&io->io_mutex);
while (1) { while (1) {
unsigned char* let; unsigned* let;
unsigned busy_index; unsigned busy_index;
/* get the next index the IO is going to use */ /* get the next index the IO is going to use */
@ -952,9 +952,9 @@ void io_init(struct snapraid_io* io, struct snapraid_state* state,
} }
io->reader_map = malloc_nofail(sizeof(struct snapraid_worker) * io->reader_max); io->reader_map = malloc_nofail(sizeof(struct snapraid_worker) * io->reader_max);
io->reader_list = malloc_nofail(io->reader_max + 1); io->reader_list = malloc_nofail(sizeof(unsigned) * (io->reader_max + 1));
io->writer_map = malloc_nofail(sizeof(struct snapraid_worker) * io->writer_max); io->writer_map = malloc_nofail(sizeof(struct snapraid_worker) * io->writer_max);
io->writer_list = malloc_nofail(io->writer_max + 1); io->writer_list = malloc_nofail(sizeof(unsigned) * (io->writer_max + 1));
io->data_base = 0; io->data_base = 0;
io->data_count = handle_max; io->data_count = handle_max;

View file

@ -294,8 +294,8 @@ struct snapraid_io {
* To get the next element to process we use i = list[i + 1]. * To get the next element to process we use i = list[i + 1].
* The end is when i == reader_max. * The end is when i == reader_max.
*/ */
unsigned char* reader_list; unsigned* reader_list;
unsigned char* writer_list; unsigned* writer_list;
/** /**
* Exit condition for all threads. * Exit condition for all threads.