On Feb 24, 2023 / 16:28, Ming Lei wrote: > On Fri, Feb 24, 2023 at 03:52:28PM +0800, Ziyang Zhang wrote: > > On 2023/2/20 11:46, Ming Lei wrote: > > > > [...] > > > > > > > > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> > > > --- > > > src/.gitignore | 1 + > > > src/Makefile | 18 + > > > src/miniublk.c | 1376 ++++++++++++++++++++++++++++++++++++++++++++++++ > > > 3 files changed, 1395 insertions(+) > > > create mode 100644 src/miniublk.c > > > > > > diff --git a/src/.gitignore b/src/.gitignore > > > index 355bed3..df7aff5 100644 > > > --- a/src/.gitignore > > > +++ b/src/.gitignore > > > @@ -8,3 +8,4 @@ > > > /sg/dxfer-from-dev > > > /sg/syzkaller1 > > > /zbdioctl > > > +/miniublk > > > diff --git a/src/Makefile b/src/Makefile > > > index 3b587f6..81c6541 100644 > > > --- a/src/Makefile > > > +++ b/src/Makefile > > > @@ -2,6 +2,10 @@ HAVE_C_HEADER = $(shell if echo "\#include <$(1)>" | \ > > > $(CC) -E - > /dev/null 2>&1; then echo "$(2)"; \ > > > else echo "$(3)"; fi) > > > > > > +HAVE_C_MACRO = $(shell if echo "#include <$(1)>" | \ > > Hi Ming, > > > > It should be "\#include", not "#include". You miss a "\". > > "\#include" won't work for checking the macro of IORING_OP_URING_CMD. > > [root@ktest-36 linux]# echo "\#include <liburing.h>" | gcc -E - > # 0 "<stdin>" > # 0 "<built-in>" > # 0 "<command-line>" > # 1 "/usr/include/stdc-predef.h" 1 3 4 > # 0 "<command-line>" 2 > # 1 "<stdin>" > \#include <liburing.h> I also tried and observed the same symptom. HAVE_C_MACRO works well without the backslash. Adding the backslash, it fails. I think Ziyang made the comment because HAVE_C_HEADER has the backslash. (Thanks for catching the difference between HAVA_C_HEADER and HAVE_C_MACRO.) I think another fix is needed to remove that backslash from HAVE_C_HEADER. I've create a one liner fix patch quickly [1]. It looks ok for blktests CI. I will revisit it after Ming's patches get settled. [1] https://github.com/osandov/blktests/pull/112/commits/dd5852e69abc3247d7b0ec4faf916a395378362d -- Shin'ichiro Kawasaki