From: Wendy Cheng <wcheng@redhat.com>

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 -EGAIN.  This gives applications a wrong impression that
this call is implemented but just never works.  We have customer inquires
about this issue.

Signed-off-by: S. Wendy Cheng <wcheng@redhat.com>
Acked-by: Benjamin LaHaise <bcrl@kvack.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 fs/aio.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN fs/aio.c~aio-add-enosys-into-sys_io_cancel fs/aio.c
--- devel/fs/aio.c~aio-add-enosys-into-sys_io_cancel	2005-08-21 23:48:30.000000000 -0700
+++ devel-akpm/fs/aio.c	2005-08-21 23:48:30.000000000 -0700
@@ -1673,7 +1673,7 @@ asmlinkage long sys_io_cancel(aio_contex
 				ret = -EFAULT;
 		}
 	} else
-		printk(KERN_DEBUG "iocb has no cancel operation\n");
+		ret = -ENOSYS;
 
 	put_ioctx(ctx);
 
_