mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
![Zach Brown](/assets/img/avatar_default.png)
This removes the retry-based AIO infrastructure now that nothing in tree is using it. We want to remove retry-based AIO because it is fundemantally unsafe. It retries IO submission from a kernel thread that has only assumed the mm of the submitting task. All other task_struct references in the IO submission path will see the kernel thread, not the submitting task. This design flaw means that nothing of any meaningful complexity can use retry-based AIO. This removes all the code and data associated with the retry machinery. The most significant benefit of this is the removal of the locking around the unused run list in the submission path. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Kent Overstreet <koverstreet@google.com> Signed-off-by: Zach Brown <zab@redhat.com> Cc: Zach Brown <zab@redhat.com> Cc: Felipe Balbi <balbi@ti.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Mark Fasheh <mfasheh@suse.com> Cc: Joel Becker <jlbec@evilplan.org> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Jens Axboe <axboe@kernel.dk> Cc: Asai Thambi S P <asamymuthupa@micron.com> Cc: Selvan Mani <smani@micron.com> Cc: Sam Bradshaw <sbradshaw@micron.com> Acked-by: Jeff Moyer <jmoyer@redhat.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Benjamin LaHaise <bcrl@kvack.org> Reviewed-by: "Theodore Ts'o" <tytso@mit.edu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
32 lines
1.2 KiB
C
32 lines
1.2 KiB
C
#ifndef _LINUX_ERRNO_H
|
|
#define _LINUX_ERRNO_H
|
|
|
|
#include <uapi/linux/errno.h>
|
|
|
|
|
|
/*
|
|
* These should never be seen by user programs. To return one of ERESTART*
|
|
* codes, signal_pending() MUST be set. Note that ptrace can observe these
|
|
* at syscall exit tracing, but they will never be left for the debugged user
|
|
* process to see.
|
|
*/
|
|
#define ERESTARTSYS 512
|
|
#define ERESTARTNOINTR 513
|
|
#define ERESTARTNOHAND 514 /* restart if no handler.. */
|
|
#define ENOIOCTLCMD 515 /* No ioctl command */
|
|
#define ERESTART_RESTARTBLOCK 516 /* restart by calling sys_restart_syscall */
|
|
#define EPROBE_DEFER 517 /* Driver requests probe retry */
|
|
#define EOPENSTALE 518 /* open found a stale dentry */
|
|
|
|
/* Defined for the NFSv3 protocol */
|
|
#define EBADHANDLE 521 /* Illegal NFS file handle */
|
|
#define ENOTSYNC 522 /* Update synchronization mismatch */
|
|
#define EBADCOOKIE 523 /* Cookie is stale */
|
|
#define ENOTSUPP 524 /* Operation is not supported */
|
|
#define ETOOSMALL 525 /* Buffer or request is too small */
|
|
#define ESERVERFAULT 526 /* An untranslatable error occurred */
|
|
#define EBADTYPE 527 /* Type not supported by server */
|
|
#define EJUKEBOX 528 /* Request initiated, but will not complete before timeout */
|
|
#define EIOCBQUEUED 529 /* iocb queued, will get completion event */
|
|
|
|
#endif
|