On 1/31/20 8:00 AM, Glauber Costa wrote: > There are situations where one does not have a ring initialized yet, and > yet they may want to know which opcodes are supported before doing so. > > We have recently introduced io_uring_get_probe(io_uring*) to do a > similar task when the ring already exists. Because this was committed > recently and this hasn't seen a release, I thought I would just go ahead > and change that to io_uring_get_probe_ring(io_uring*), because I suck at > finding another meaningful name for this case (io_uring_get_probe_noring > sounded way too ugly to me) > > A minimal ring is initialized and torn down inside the function. > > Signed-off-by: Glauber Costa <glauber@xxxxxxxxxxxx> > --- > src/include/liburing.h | 4 +++- > src/liburing.map | 1 + > src/setup.c | 15 ++++++++++++++- > test/probe.c | 2 +- > 4 files changed, 19 insertions(+), 3 deletions(-) > > diff --git a/src/include/liburing.h b/src/include/liburing.h > index 39db902..aa11282 100644 > --- a/src/include/liburing.h > +++ b/src/include/liburing.h > @@ -77,7 +77,9 @@ struct io_uring { > * return an allocated io_uring_probe structure, or NULL if probe fails (for > * example, if it is not available). The caller is responsible for freeing it > */ > -extern struct io_uring_probe *io_uring_get_probe(struct io_uring *ring); > +extern struct io_uring_probe *io_uring_get_probe_ring(struct io_uring *ring); > +/* same as io_uring_get_probe_ring, but takes care of ring init and teardown */ > +extern struct io_uring_probe *io_uring_get_probe(); Include 'void' for no parameter. > @@ -186,3 +186,16 @@ fail: > free(probe); > return NULL; > } > + > +struct io_uring_probe *io_uring_get_probe() { void here as well, and new line before the opening bracket. Minor stuff, rest looks fine to me. -- Jens Axboe