diff mbox series

[for-4.0?] iotest: Fix 241 to run in generic directory

Message ID 20190410204215.5963-1-eblake@redhat.com
State New
Headers show
Series [for-4.0?] iotest: Fix 241 to run in generic directory | expand

Commit Message

Eric Blake April 10, 2019, 8:42 p.m. UTC
Filter the qemu-nbd server output to get rid of a direct reference
to my build directory.

Fixes: e9dce9cb
Reported-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
---

Not worth -rc4 on its own, but if something else pops up that requires
another spin, I plan on a pull request for this one. Otherwise it
slips to 4.1, and 4.0 just has a broken iotest.

 tests/qemu-iotests/241     | 4 +++-
 tests/qemu-iotests/241.out | 6 +++---
 2 files changed, 6 insertions(+), 4 deletions(-)

Comments

Vladimir Sementsov-Ogievskiy April 11, 2019, 7:57 a.m. UTC | #1
10.04.2019 23:42, Eric Blake wrote:
> Filter the qemu-nbd server output to get rid of a direct reference
> to my build directory.
> 
> Fixes: e9dce9cb
> Reported-by: Max Reitz <mreitz@redhat.com>
> Signed-off-by: Eric Blake <eblake@redhat.com>
> ---
> 
> Not worth -rc4 on its own, but if something else pops up that requires
> another spin, I plan on a pull request for this one. Otherwise it
> slips to 4.1, and 4.0 just has a broken iotest.
> 
>   tests/qemu-iotests/241     | 4 +++-
>   tests/qemu-iotests/241.out | 6 +++---
>   2 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/qemu-iotests/241 b/tests/qemu-iotests/241
> index 4b196857387..017a736aaba 100755
> --- a/tests/qemu-iotests/241
> +++ b/tests/qemu-iotests/241
> @@ -28,6 +28,7 @@ nbd_unix_socket=$TEST_DIR/test_qemu_nbd_socket
>   _cleanup()
>   {
>       _cleanup_test_img
> +    rm -f "$TEST_DIR/server.log"
>       nbd_server_stop
>   }
>   trap "_cleanup; exit \$status" 0 1 2 3 15
> @@ -69,12 +70,13 @@ echo
> 
>   # Intentionally omit '-f' to force image probing, which in turn forces
>   # sector alignment, here at the server.
> -nbd_server_start_unix_socket "$TEST_IMG_FILE"
> +nbd_server_start_unix_socket "$TEST_IMG_FILE" 2> "$TEST_DIR/server.log"
> 
>   $QEMU_NBD_PROG --list -k $nbd_unix_socket | grep '\(size\|min\)'
>   $QEMU_IMG map -f raw --output=json "$TEST_IMG" | _filter_qemu_img_map
>   $QEMU_IO -f raw -c map "$TEST_IMG"
>   nbd_server_stop
> +cat "$TEST_DIR/server.log" | _filter_testdir
> 
>   echo
>   echo "=== Exporting unaligned raw image, forced client sector alignment ==="
> diff --git a/tests/qemu-iotests/241.out b/tests/qemu-iotests/241.out
> index f481074a02e..75f9f465e52 100644
> --- a/tests/qemu-iotests/241.out
> +++ b/tests/qemu-iotests/241.out
> @@ -10,13 +10,13 @@ QA output created by 241
> 
>   === Exporting unaligned raw image, forced server sector alignment ===
> 
> -WARNING: Image format was not specified for '/home/eblake/qemu/tests/qemu-iotests/scratch/t.raw' and probing guessed raw.
> -         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
> -         Specify the 'raw' format explicitly to remove the restrictions.
>     size:  1024
>     min block: 512
>   [{ "start": 0, "length": 1024, "depth": 0, "zero": false, "data": true, "offset": OFFSET}]
>   1 KiB (0x400) bytes     allocated at offset 0 bytes (0x0)
> +WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing guessed raw.
> +         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
> +         Specify the 'raw' format explicitly to remove the restrictions.

May be, just add -f raw to nbd server, to make this message disappear? And than, don't do any redirections, as if there
will be failed unfiltered output it is OK?

> 
>   === Exporting unaligned raw image, forced client sector alignment ===
>
Eric Blake April 11, 2019, 2:47 p.m. UTC | #2
On 4/11/19 2:57 AM, Vladimir Sementsov-Ogievskiy wrote:
> 10.04.2019 23:42, Eric Blake wrote:
>> Filter the qemu-nbd server output to get rid of a direct reference
>> to my build directory.
>>
>> Fixes: e9dce9cb
>> Reported-by: Max Reitz <mreitz@redhat.com>
>> Signed-off-by: Eric Blake <eblake@redhat.com>
>> ---
>>
>> Not worth -rc4 on its own, but if something else pops up that requires
>> another spin, I plan on a pull request for this one. Otherwise it
>> slips to 4.1, and 4.0 just has a broken iotest.
>>

>> @@ -69,12 +70,13 @@ echo
>>
>>   # Intentionally omit '-f' to force image probing, which in turn forces
>>   # sector alignment, here at the server.
>> -nbd_server_start_unix_socket "$TEST_IMG_FILE"
>> +nbd_server_start_unix_socket "$TEST_IMG_FILE" 2> "$TEST_DIR/server.log"
>>

>>   1 KiB (0x400) bytes     allocated at offset 0 bytes (0x0)
>> +WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing guessed raw.
>> +         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
>> +         Specify the 'raw' format explicitly to remove the restrictions.
> 
> May be, just add -f raw to nbd server, to make this message disappear? And than, don't do any redirections, as if there
> will be failed unfiltered output it is OK?

No. See the comment in the test - it is intentional that we are omitting
-f, in two different places, in order to get three test scenarios:

normal: server '-f raw' 1-byte align, client '-f raw' 1-byte align
server-constrained: server omit for 512-byte align, client '-f raw'
obeys server align
client-constrained: server '-f raw' 1-byte align, client omit for
intentional 512-byte align

in order to show both that the server with forced alignment is able to
round requests correctly before sending to the client, and to show that
the client with forced alignment is able to round requests correctly in
spite of the server sending answers narrower than the client wants.

In 4.1, when Max's filter handling patches land, it will be possible to
use the blkdebug driver to force alignment instead of omitting '-f raw';
at which point we can take away the server.log file. But until the
filter handling patches land, any use of blkdebug causes odd test
misbehaviors because not everything in the block layer properly sees
through filter nodes.
Vladimir Sementsov-Ogievskiy April 11, 2019, 3:09 p.m. UTC | #3
11.04.2019 17:47, Eric Blake wrote:
> On 4/11/19 2:57 AM, Vladimir Sementsov-Ogievskiy wrote:
>> 10.04.2019 23:42, Eric Blake wrote:
>>> Filter the qemu-nbd server output to get rid of a direct reference
>>> to my build directory.
>>>
>>> Fixes: e9dce9cb
>>> Reported-by: Max Reitz <mreitz@redhat.com>
>>> Signed-off-by: Eric Blake <eblake@redhat.com>
>>> ---
>>>
>>> Not worth -rc4 on its own, but if something else pops up that requires
>>> another spin, I plan on a pull request for this one. Otherwise it
>>> slips to 4.1, and 4.0 just has a broken iotest.
>>>
> 
>>> @@ -69,12 +70,13 @@ echo
>>>
>>>    # Intentionally omit '-f' to force image probing, which in turn forces
>>>    # sector alignment, here at the server.
>>> -nbd_server_start_unix_socket "$TEST_IMG_FILE"
>>> +nbd_server_start_unix_socket "$TEST_IMG_FILE" 2> "$TEST_DIR/server.log"
>>>
> 
>>>    1 KiB (0x400) bytes     allocated at offset 0 bytes (0x0)
>>> +WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing guessed raw.
>>> +         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
>>> +         Specify the 'raw' format explicitly to remove the restrictions.
>>
>> May be, just add -f raw to nbd server, to make this message disappear? And than, don't do any redirections, as if there
>> will be failed unfiltered output it is OK?
> 
> No. See the comment in the test - it is intentional that we are omitting
> -f, in two different places, in order to get three test scenarios:
> 
> normal: server '-f raw' 1-byte align, client '-f raw' 1-byte align
> server-constrained: server omit for 512-byte align, client '-f raw'
> obeys server align
> client-constrained: server '-f raw' 1-byte align, client omit for
> intentional 512-byte align
> 
> in order to show both that the server with forced alignment is able to
> round requests correctly before sending to the client, and to show that
> the client with forced alignment is able to round requests correctly in
> spite of the server sending answers narrower than the client wants.
> 
> In 4.1, when Max's filter handling patches land, it will be possible to
> use the blkdebug driver to force alignment instead of omitting '-f raw';
> at which point we can take away the server.log file. But until the
> filter handling patches land, any use of blkdebug causes odd test
> misbehaviors because not everything in the block layer properly sees
> through filter nodes.
> 

Understand now, thanks.

Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Kevin Wolf April 12, 2019, 12:16 p.m. UTC | #4
Am 10.04.2019 um 22:42 hat Eric Blake geschrieben:
> Filter the qemu-nbd server output to get rid of a direct reference
> to my build directory.
> 
> Fixes: e9dce9cb
> Reported-by: Max Reitz <mreitz@redhat.com>
> Signed-off-by: Eric Blake <eblake@redhat.com>

Thanks, applied to the block branch.

Kevin
diff mbox series

Patch

diff --git a/tests/qemu-iotests/241 b/tests/qemu-iotests/241
index 4b196857387..017a736aaba 100755
--- a/tests/qemu-iotests/241
+++ b/tests/qemu-iotests/241
@@ -28,6 +28,7 @@  nbd_unix_socket=$TEST_DIR/test_qemu_nbd_socket
 _cleanup()
 {
     _cleanup_test_img
+    rm -f "$TEST_DIR/server.log"
     nbd_server_stop
 }
 trap "_cleanup; exit \$status" 0 1 2 3 15
@@ -69,12 +70,13 @@  echo

 # Intentionally omit '-f' to force image probing, which in turn forces
 # sector alignment, here at the server.
-nbd_server_start_unix_socket "$TEST_IMG_FILE"
+nbd_server_start_unix_socket "$TEST_IMG_FILE" 2> "$TEST_DIR/server.log"

 $QEMU_NBD_PROG --list -k $nbd_unix_socket | grep '\(size\|min\)'
 $QEMU_IMG map -f raw --output=json "$TEST_IMG" | _filter_qemu_img_map
 $QEMU_IO -f raw -c map "$TEST_IMG"
 nbd_server_stop
+cat "$TEST_DIR/server.log" | _filter_testdir

 echo
 echo "=== Exporting unaligned raw image, forced client sector alignment ==="
diff --git a/tests/qemu-iotests/241.out b/tests/qemu-iotests/241.out
index f481074a02e..75f9f465e52 100644
--- a/tests/qemu-iotests/241.out
+++ b/tests/qemu-iotests/241.out
@@ -10,13 +10,13 @@  QA output created by 241

 === Exporting unaligned raw image, forced server sector alignment ===

-WARNING: Image format was not specified for '/home/eblake/qemu/tests/qemu-iotests/scratch/t.raw' and probing guessed raw.
-         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
-         Specify the 'raw' format explicitly to remove the restrictions.
   size:  1024
   min block: 512
 [{ "start": 0, "length": 1024, "depth": 0, "zero": false, "data": true, "offset": OFFSET}]
 1 KiB (0x400) bytes     allocated at offset 0 bytes (0x0)
+WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing guessed raw.
+         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
+         Specify the 'raw' format explicitly to remove the restrictions.

 === Exporting unaligned raw image, forced client sector alignment ===