From: Wendy Cheng <wcheng@redhat.com> Date: Fri, 9 Sep 2005 20:02:08 +0000 (-0700) Subject: [PATCH] change io_cancel return code for no cancel case X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8f58202bf6b915656e116ece3bc4ace14bfe533a;p=linux.git [PATCH] change io_cancel return code for no cancel case Note that other than few exceptions, most of the current filesystem and/or drivers do not have aio cancel specifically defined (kiob->ki_cancel field is mostly NULL). However, sys_io_cancel system call universally sets return code to -EAGAIN. This gives applications a wrong impression that this call is implemented but just never works. We have customer inquires about this issue. Changed by Benjamin LaHaise to EINVAL instead of ENOSYS Signed-off-by: S. Wendy Cheng <wcheng@redhat.com> Acked-by: Benjamin LaHaise <bcrl@kvack.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> --- diff --git a/fs/aio.c b/fs/aio.c index 4f641abac3c09..769791df36b4f 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1673,7 +1673,7 @@ asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb, ret = -EFAULT; } } else - printk(KERN_DEBUG "iocb has no cancel operation\n"); + ret = -EINVAL; put_ioctx(ctx);