On 2023/2/24 19:41, Shinichiro Kawasaki wrote: > 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 > Hello, Sorry, I am not familiar with shell script. But **without** the backslash, I get this error: $ make make -C src all make[1]: Entering directory '/home/alinux/workspace/blktests/src' Makefile:5: *** unterminated call to function 'shell': missing ')'. Stop. make[1]: Leaving directory '/home/alinux/workspace/blktests/src' make: *** [Makefile:5: all] Error 2 Regards, Zhang