Looks like commit 05a8c47b9be8a6b8ffc091eab461fece9d40dcd0
(tests: Test all calls through multiple layers of filters and a plugin.)
introduced an issue.

$ git clean -dxf && autoreconf -i && ./configure && make
...
in.Tpo -c -o test_layers_plugin_la-test-layers-plugin.lo `test -f 'test-layers-plugin.c' || echo './'`test-layers-plugin.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT test_layers_plugin_la-test-layers-plugin.lo -MD -MP -MF .deps/test_layers_plugin_la-test-layers-plugin.Tpo -c test-layers-plugin.c  -fPIC -DPIC -o .libs/test_layers_plugin_la-test-layers-plugin.o
test-layers-plugin.c: In function ‘test_layers_plugin_can_fua’:
test-layers-plugin.c:137:10: error: ‘NBDKIT_FUA_NATIVE’ undeclared (first use in this function); did you mean ‘NBDKIT_CXX_LANG_C’?
   return NBDKIT_FUA_NATIVE;
          ^~~~~~~~~~~~~~~~~
          NBDKIT_CXX_LANG_C
test-layers-plugin.c:137:10: note: each undeclared identifier is reported only once for each function it appears in
test-layers-plugin.c: At top level:
test-layers-plugin.c:197:4: error: ‘struct nbdkit_plugin’ has no member named ‘can_zero’; did you mean ‘can_trim’?
   .can_zero          = test_layers_plugin_can_zero,
    ^~~~~~~~
    can_trim
test-layers-plugin.c:197:24: warning: initialization of ‘int (*)(void *, void *, uint32_t,  uint64_t)’ {aka ‘int (*)(void *, void *, unsigned int,  long unsigned int)’} from incompatible pointer type ‘int (*)(void *)’ [-Wincompatible-pointer-types]
   .can_zero          = test_layers_plugin_can_zero,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
test-layers-plugin.c:197:24: note: (near initialization for ‘plugin.pread’)
test-layers-plugin.c:198:4: error: ‘struct nbdkit_plugin’ has no member named ‘can_fua’; did you mean ‘can_flush’?
   .can_fua           = test_layers_plugin_can_fua,
    ^~~~~~~
    can_flush
test-layers-plugin.c:198:24: warning: initialization of ‘int (*)(void *, const void *, uint32_t,  uint64_t)’ {aka ‘int (*)(void *, const void *, unsigned int,  long unsigned int)’} from incompatible pointer type ‘int (*)(void *)’ [-Wincompatible-pointer-types]
   .can_fua           = test_layers_plugin_can_fua,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
test-layers-plugin.c:198:24: note: (near initialization for ‘plugin.pwrite’)
test-layers-plugin.c:199:24: warning: initialization of ‘int (*)(void *, void *, uint32_t,  uint64_t)’ {aka ‘int (*)(void *, void *, unsigned int,  long unsigned int)’} from incompatible pointer type ‘int (*)(void *, void *, uint32_t,  uint64_t,  uint32_t)’ {aka ‘int (*)(void *, void *, unsigned int,  long unsigned int,  unsigned int)’} [-Wincompatible-pointer-types]
   .pread             = test_layers_plugin_pread,
                        ^~~~~~~~~~~~~~~~~~~~~~~~
test-layers-plugin.c:199:24: note: (near initialization for ‘plugin.pread’)
test-layers-plugin.c:200:24: warning: initialization of ‘int (*)(void *, const void *, uint32_t,  uint64_t)’ {aka ‘int (*)(void *, const void *, unsigned int,  long unsigned int)’} from incompatible pointer type ‘int (*)(void *, const void *, uint32_t,  uint64_t,  uint32_t)’ {aka ‘int (*)(void *, const void *, unsigned int,  long unsigned int,  unsigned int)’} [-Wincompatible-pointer-types]
   .pwrite            = test_layers_plugin_pwrite,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
test-layers-plugin.c:200:24: note: (near initialization for ‘plugin.pwrite’)
test-layers-plugin.c:201:24: warning: initialization of ‘int (*)(void *)’ from incompatible pointer type ‘int (*)(void *, uint32_t)’ {aka ‘int (*)(void *, unsigned int)’} [-Wincompatible-pointer-types]
   .flush             = test_layers_plugin_flush,
                        ^~~~~~~~~~~~~~~~~~~~~~~~
test-layers-plugin.c:201:24: note: (near initialization for ‘plugin.flush’)
test-layers-plugin.c:202:24: warning: initialization of ‘int (*)(void *, uint32_t,  uint64_t)’ {aka ‘int (*)(void *, unsigned int,  long unsigned int)’} from incompatible pointer type ‘int (*)(void *, uint32_t,  uint64_t,  uint32_t)’ {aka ‘int (*)(void *, unsigned int,  long unsigned int,  unsigned int)’} [-Wincompatible-pointer-types]
   .trim              = test_layers_plugin_trim,
                        ^~~~~~~~~~~~~~~~~~~~~~~
test-layers-plugin.c:202:24: note: (near initialization for ‘plugin.trim’)
test-layers-plugin.c:203:24: warning: initialization of ‘int (*)(void *, uint32_t,  uint64_t,  int)’ {aka ‘int (*)(void *, unsigned int,  long unsigned int,  int)’} from incompatible pointer type ‘int (*)(void *, uint32_t,  uint64_t,  uint32_t)’ {aka ‘int (*)(void *, unsigned int,  long unsigned int,  unsigned int)’} [-Wincompatible-pointer-types]
   .zero              = test_layers_plugin_zero,
                        ^~~~~~~~~~~~~~~~~~~~~~~
test-layers-plugin.c:203:24: note: (near initialization for ‘plugin.zero’)
make[2]: *** [Makefile:1847: test_layers_plugin_la-test-layers-plugin.lo] Error 1


Nir