git.samba.org
/
sfrench
/
cifs-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
[sfrench/cifs-2.6.git]
/
include
/
linux
/
aio.h
diff --git
a/include/linux/aio.h
b/include/linux/aio.h
index 3372ec6bf53a25d5d65d540008f75bde975e1c13..d10e608f232d04e053aa3c2bd8b68a810df6aad8 100644
(file)
--- a/
include/linux/aio.h
+++ b/
include/linux/aio.h
@@
-86,7
+86,7
@@
struct kioctx;
*/
struct kiocb {
struct list_head ki_run_list;
*/
struct kiocb {
struct list_head ki_run_list;
-
long
ki_flags;
+
unsigned long
ki_flags;
int ki_users;
unsigned ki_key; /* id of this request */
int ki_users;
unsigned ki_key; /* id of this request */
@@
-105,6
+105,7
@@
struct kiocb {
wait_queue_t ki_wait;
loff_t ki_pos;
wait_queue_t ki_wait;
loff_t ki_pos;
+ atomic_t ki_bio_count; /* num bio used for this iocb */
void *private;
/* State that we remember to be able to restart/retry */
unsigned short ki_opcode;
void *private;
/* State that we remember to be able to restart/retry */
unsigned short ki_opcode;
@@
-118,6
+119,12
@@
struct kiocb {
struct list_head ki_list; /* the aio core uses this
* for cancellation */
struct list_head ki_list; /* the aio core uses this
* for cancellation */
+
+ /*
+ * If the aio_resfd field of the userspace iocb is not zero,
+ * this is the underlying file* to deliver event to.
+ */
+ struct file *ki_eventfd;
};
#define is_sync_kiocb(iocb) ((iocb)->ki_key == KIOCB_SYNC_KEY)
};
#define is_sync_kiocb(iocb) ((iocb)->ki_key == KIOCB_SYNC_KEY)
@@
-225,7
+232,8
@@
int FASTCALL(io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb,
__put_ioctx(kioctx); \
} while (0)
__put_ioctx(kioctx); \
} while (0)
-#define in_aio() !is_sync_wait(current->io_wait)
+#define in_aio() (unlikely(!is_sync_wait(current->io_wait)))
+
/* may be used for debugging */
#define warn_if_async() \
do { \
/* may be used for debugging */
#define warn_if_async() \
do { \