[PATCH for-5.5] io_uring: make HARDLINK imply LINK

From: Pavel Begunkov
Date: Tue Dec 17 2019 - 12:57:52 EST


The rules are as follows, if IOSQE_IO_HARDLINK is specified, then it's a
link and there is no need in IOSQE_IO_LINK, though it could be there.
Add proper check.

Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx>
---
fs/io_uring.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index 339b57aac5ca..eb6d897ea087 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -3577,7 +3577,7 @@ static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr,
* If previous wasn't linked and we have a linked command,
* that's the end of the chain. Submit the previous link.
*/
- if (!(sqe_flags & IOSQE_IO_LINK) && link) {
+ if (!(sqe_flags & (IOSQE_IO_LINK|IOSQE_IO_HARDLINK)) && link) {
io_queue_link_head(link);
link = NULL;
}
--
2.24.0