summaryrefslogtreecommitdiffstats
path: root/fs/aio.c
diff options
context:
space:
mode:
authorMohammed Anees <pvmohammedanees2003@gmail.com>2024-11-12 12:38:34 +0100
committerChristian Brauner <brauner@kernel.org>2024-11-12 14:36:45 +0100
commitc4d7d90747f4e8b528c8cd0a2d9ac01dc4a9339e (patch)
treea9c9c2fd35981accd1dd9705f10eced7c5551c08 /fs/aio.c
parenthfsplus: don't query the device logical block size multiple times (diff)
downloadlinux-c4d7d90747f4e8b528c8cd0a2d9ac01dc4a9339e.tar.xz
linux-c4d7d90747f4e8b528c8cd0a2d9ac01dc4a9339e.zip
fs:aio: Remove TODO comment suggesting hash or array usage in io_cancel()
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@gmail.com> Link: https://lore.kernel.org/r/20241112113906.15825-1-pvmohammedanees2003@gmail.com Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/aio.c')
-rw-r--r--fs/aio.c1
1 files changed, 0 insertions, 1 deletions
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);