@@ -409,7 +409,6 @@ enum {
409409 REQ_F_SINGLE_POLL_BIT ,
410410 REQ_F_DOUBLE_POLL_BIT ,
411411 REQ_F_PARTIAL_IO_BIT ,
412- REQ_F_CQE32_INIT_BIT ,
413412 REQ_F_APOLL_MULTISHOT_BIT ,
414413 REQ_F_CLEAR_POLLIN_BIT ,
415414 REQ_F_HASH_LOCKED_BIT ,
@@ -479,8 +478,6 @@ enum {
479478 REQ_F_PARTIAL_IO = BIT (REQ_F_PARTIAL_IO_BIT ),
480479 /* fast poll multishot mode */
481480 REQ_F_APOLL_MULTISHOT = BIT (REQ_F_APOLL_MULTISHOT_BIT ),
482- /* ->extra1 and ->extra2 are initialised */
483- REQ_F_CQE32_INIT = BIT (REQ_F_CQE32_INIT_BIT ),
484481 /* recvmsg special flag, clear EPOLLIN */
485482 REQ_F_CLEAR_POLLIN = BIT (REQ_F_CLEAR_POLLIN_BIT ),
486483 /* hashed into ->cancel_hash_locked, protected by ->uring_lock */
@@ -579,13 +576,7 @@ struct io_kiocb {
579576 struct io_task_work io_task_work ;
580577 unsigned nr_tw ;
581578 /* for polled requests, i.e. IORING_OP_POLL_ADD and async armed poll */
582- union {
583- struct hlist_node hash_node ;
584- struct {
585- u64 extra1 ;
586- u64 extra2 ;
587- };
588- };
579+ struct hlist_node hash_node ;
589580 /* internal polling, see IORING_FEAT_FAST_POLL */
590581 struct async_poll * apoll ;
591582 /* opcode allocated if it needs to store data for async defer */
@@ -595,6 +586,11 @@ struct io_kiocb {
595586 /* custom credentials, valid IFF REQ_F_CREDS is set */
596587 const struct cred * creds ;
597588 struct io_wq_work work ;
589+
590+ struct {
591+ u64 extra1 ;
592+ u64 extra2 ;
593+ } big_cqe ;
598594};
599595
600596struct io_overflow_cqe {
0 commit comments