On Tue 12-11-24 17:08:34, Mohammed Anees wrote: > The comment suggests a hash or array approach to > store the active requests. Currently it iterates > through all the active requests and when found > deletes the requested request, in the linked list. > However io_cancel() isn’t a frequently used operation, > and optimizing it wouldn’t bring a substantial benefit > to real users and the increased complexity of maintaining > a hashtable for this would be significant and will slow > down other operation. Therefore remove this TODO > to avoid people spending time improving this. > > Signed-off-by: Mohammed Anees <pvmohammedanees2003@xxxxxxxxx> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > fs/aio.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/fs/aio.c b/fs/aio.c > index e8920178b50f..72e3970f4225 100644 > --- a/fs/aio.c > +++ b/fs/aio.c > @@ -2191,7 +2191,6 @@ SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb, > return -EINVAL; > > spin_lock_irq(&ctx->ctx_lock); > - /* TODO: use a hash or array, this sucks. */ > list_for_each_entry(kiocb, &ctx->active_reqs, ki_list) { > if (kiocb->ki_res.obj == obj) { > ret = kiocb->ki_cancel(&kiocb->rw); > -- > 2.47.0 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR