18.12.2018 10:57, Anton Nefedov wrote: > these flags currently affect nothing without CONFIG_FALLOCATE*, so it's > not a bug. Fixing it makes possible to adjust supported zero flag > BDRV_REQ_ALLOCATE regardless of configuration (in the following patch). > > Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
I'd prefere to refactor things so that these variables are false from the beginning in these cases, but it's more difficult and may be done separately. Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> > --- > block/file-posix.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/block/file-posix.c b/block/file-posix.c > index d8f0b93752..a65e464cbc 100644 > --- a/block/file-posix.c > +++ b/block/file-posix.c > @@ -1488,9 +1488,7 @@ static ssize_t > handle_aiocb_write_zeroes_block(RawPosixAIOData *aiocb) > static int handle_aiocb_write_zeroes(void *opaque) > { > RawPosixAIOData *aiocb = opaque; > -#if defined(CONFIG_FALLOCATE) || defined(CONFIG_XFS) > BDRVRawState *s = aiocb->bs->opaque; > -#endif > #ifdef CONFIG_FALLOCATE > int64_t len; > #endif > @@ -1514,6 +1512,8 @@ static int handle_aiocb_write_zeroes(void *opaque) > } > s->has_write_zeroes = false; > } > +#else > + s->has_write_zeroes = false; > #endif > > #ifdef CONFIG_FALLOCATE_PUNCH_HOLE > @@ -1533,6 +1533,8 @@ static int handle_aiocb_write_zeroes(void *opaque) > s->has_discard = false; > } > } > +#else > + s->has_discard = false; > #endif > > #ifdef CONFIG_FALLOCATE > @@ -1546,6 +1548,8 @@ static int handle_aiocb_write_zeroes(void *opaque) > } > s->has_fallocate = false; > } > +#else > + s->has_fallocate = false; > #endif > > return -ENOTSUP; > -- Best regards, Vladimir