Message ID | 20230509151910.183637-2-axboe@kernel.dk (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Improve FMODE_NOWAIT coverage | expand |
On Tue, 2023-05-09 at 09:19 -0600, Jens Axboe wrote: > The socket read/write functions deal with O_NONBLOCK and IOCB_NOWAIT > just fine, so we can flag them as being FMODE_NOWAIT compliant. With > this, we can remove socket special casing in io_uring when checking > if a file type is sane for nonblocking IO, and it's also the defined > way to flag file types as such in the kernel. > > Cc: "David S. Miller" <davem@davemloft.net> > Cc: Eric Dumazet <edumazet@google.com> > Cc: Jakub Kicinski <kuba@kernel.org> > Cc: netdev@vger.kernel.org > Signed-off-by: Jens Axboe <axboe@kernel.dk> > --- > net/socket.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/socket.c b/net/socket.c > index a7b4b37d86df..6861dbbfadb6 100644 > --- a/net/socket.c > +++ b/net/socket.c > @@ -471,6 +471,7 @@ struct file *sock_alloc_file(struct socket *sock, int flags, const char *dname) > return file; > } > > + file->f_mode |= FMODE_NOWAIT; > sock->file = file; > file->private_data = sock; > stream_open(SOCK_INODE(sock), file); The patch looks sane to me: Reviewed-by: Paolo Abeni <pabeni@redhat.com> I understand the intention is merging patch via the io_uring tree? If so, no objections on my side: hopefully it should not cause any conflicts with the netdev tree. Thanks, Paolo
On 5/11/23 2:03?AM, Paolo Abeni wrote: > On Tue, 2023-05-09 at 09:19 -0600, Jens Axboe wrote: >> The socket read/write functions deal with O_NONBLOCK and IOCB_NOWAIT >> just fine, so we can flag them as being FMODE_NOWAIT compliant. With >> this, we can remove socket special casing in io_uring when checking >> if a file type is sane for nonblocking IO, and it's also the defined >> way to flag file types as such in the kernel. >> >> Cc: "David S. Miller" <davem@davemloft.net> >> Cc: Eric Dumazet <edumazet@google.com> >> Cc: Jakub Kicinski <kuba@kernel.org> >> Cc: netdev@vger.kernel.org >> Signed-off-by: Jens Axboe <axboe@kernel.dk> >> --- >> net/socket.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/net/socket.c b/net/socket.c >> index a7b4b37d86df..6861dbbfadb6 100644 >> --- a/net/socket.c >> +++ b/net/socket.c >> @@ -471,6 +471,7 @@ struct file *sock_alloc_file(struct socket *sock, int flags, const char *dname) >> return file; >> } >> >> + file->f_mode |= FMODE_NOWAIT; >> sock->file = file; >> file->private_data = sock; >> stream_open(SOCK_INODE(sock), file); > > The patch looks sane to me: > > Reviewed-by: Paolo Abeni <pabeni@redhat.com> > > I understand the intention is merging patch via the io_uring tree? If > so, no objections on my side: hopefully it should not cause any > conflicts with the netdev tree. If it's fine with you guys, then yeah that would make my life easier. Risk of conflicts should be very low, and trivial if it does occur. Thanks for the review!
diff --git a/net/socket.c b/net/socket.c index a7b4b37d86df..6861dbbfadb6 100644 --- a/net/socket.c +++ b/net/socket.c @@ -471,6 +471,7 @@ struct file *sock_alloc_file(struct socket *sock, int flags, const char *dname) return file; } + file->f_mode |= FMODE_NOWAIT; sock->file = file; file->private_data = sock; stream_open(SOCK_INODE(sock), file);
The socket read/write functions deal with O_NONBLOCK and IOCB_NOWAIT just fine, so we can flag them as being FMODE_NOWAIT compliant. With this, we can remove socket special casing in io_uring when checking if a file type is sane for nonblocking IO, and it's also the defined way to flag file types as such in the kernel. Cc: "David S. Miller" <davem@davemloft.net> Cc: Eric Dumazet <edumazet@google.com> Cc: Jakub Kicinski <kuba@kernel.org> Cc: netdev@vger.kernel.org Signed-off-by: Jens Axboe <axboe@kernel.dk> --- net/socket.c | 1 + 1 file changed, 1 insertion(+)