diff mbox series

[v11,06/10] file-posix: reset fallocate-related flags without CONFIG_FALLOCATE*

Message ID 20181218075707.12006-7-anton.nefedov@virtuozzo.com
State New
Headers show
Series qcow2: cluster space preallocation | expand

Commit Message

Anton Nefedov Dec. 18, 2018, 7:57 a.m. UTC
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.nefedov@virtuozzo.com>
---
 block/file-posix.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Vladimir Sementsov-Ogievskiy Dec. 21, 2018, 1:51 p.m. UTC | #1
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.nefedov@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 <vsementsov@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;
>
Alberto Garcia Jan. 7, 2019, 3:22 p.m. UTC | #2
On Tue 18 Dec 2018 08:57:40 AM CET, 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.nefedov@virtuozzo.com>

Reviewed-by: Alberto Garcia <berto@igalia.com>

Berto
diff mbox series

Patch

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;