qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] f51062: qemu-iotest: Make 077 raw-only


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] f51062: qemu-iotest: Make 077 raw-only
Date: Wed, 12 Feb 2014 10:00:05 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: f51062061e6adf64a879177f35ff5c6babb63e7e
      
https://github.com/qemu/qemu/commit/f51062061e6adf64a879177f35ff5c6babb63e7e
  Author: Kevin Wolf <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M tests/qemu-iotests/077

  Log Message:
  -----------
  qemu-iotest: Make 077 raw-only

The qemu-io command sequences make the assumption that an unaligned
request on the format layer will be unaligned on the blkdebug layer as
well. This doesn't necessarily hold true for drivers other than raw.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: BenoƮt Canet <address@hidden>


  Commit: 6542aa9c75bcef5a549b8ac1ce34d0ec6782a3c2
      
https://github.com/qemu/qemu/commit/6542aa9c75bcef5a549b8ac1ce34d0ec6782a3c2
  Author: Peter Lieven <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M MAINTAINERS
    M block/Makefile.objs
    A block/nfs.c
    M configure
    M qapi-schema.json

  Log Message:
  -----------
  block: add native support for NFS

This patch adds native support for accessing images on NFS
shares without the requirement to actually mount the entire
NFS share on the host.

NFS Images can simply be specified by an url of the form:
nfs://<host>/<export>/<filename>[?param=value[&param2=value2[&...]]]

For example:
qemu-img create -f qcow2 nfs://10.0.0.1/qemu-images/test.qcow2

You need LibNFS from Ronnie Sahlberg available at:
   git://github.com/sahlberg/libnfs.git
for this to work.

During configure it is automatically probed for libnfs and support
is enabled on-the-fly. You can forbid or enforce libnfs support
with --disable-libnfs or --enable-libnfs respectively.

Due to NFS restrictions you might need to execute your binaries
as root, allow them to open priviledged ports (<1024) or specify
insecure option on the NFS server.

For additional information on ROOT vs. non-ROOT operation and URL
format + parameters see:
   https://raw.github.com/sahlberg/libnfs/master/README

Supported by qemu are the uid, gid and tcp-syncnt URL parameters.

LibNFS currently support NFS version 3 only.

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 1f7bf7d0687f5a58613358f5e7cfd8f29a3a21e2
      
https://github.com/qemu/qemu/commit/1f7bf7d0687f5a58613358f5e7cfd8f29a3a21e2
  Author: Peter Lieven <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M tests/qemu-iotests/013
    M tests/qemu-iotests/014
    M tests/qemu-iotests/018
    M tests/qemu-iotests/019
    M tests/qemu-iotests/023
    M tests/qemu-iotests/024
    M tests/qemu-iotests/026
    M tests/qemu-iotests/028
    M tests/qemu-iotests/031
    M tests/qemu-iotests/034
    M tests/qemu-iotests/036
    M tests/qemu-iotests/037
    M tests/qemu-iotests/038
    M tests/qemu-iotests/039
    M tests/qemu-iotests/043
    M tests/qemu-iotests/046
    M tests/qemu-iotests/052
    M tests/qemu-iotests/054
    M tests/qemu-iotests/059
    M tests/qemu-iotests/060
    M tests/qemu-iotests/061
    M tests/qemu-iotests/063
    M tests/qemu-iotests/069
    M tests/qemu-iotests/071
    M tests/qemu-iotests/072

  Log Message:
  -----------
  qemu-iotests: change _supported_proto to file for various tests

all these tests do anything of the following and thus fail with any
protocol other than file:
 - the tests use rm, cp or mv shell commands which only work on file
 - the tests use qcow2.py
 - the images construct new filenames (e.g. backing file names) and
   the logic is broken for anything else than file

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ecd792fd2178570b8bcf399a86af5a6d9504437b
      
https://github.com/qemu/qemu/commit/ecd792fd2178570b8bcf399a86af5a6d9504437b
  Author: Peter Lieven <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M tests/qemu-iotests/020

  Log Message:
  -----------
  qemu-iotests: blacklist test 020 for NFS protocol

reopening is currently not supported.

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a19737f1bdcca1de3d0c1d7c87935d89d5ccc1e5
      
https://github.com/qemu/qemu/commit/a19737f1bdcca1de3d0c1d7c87935d89d5ccc1e5
  Author: Peter Lieven <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M tests/qemu-iotests/016
    M tests/qemu-iotests/025

  Log Message:
  -----------
  qemu-iotests: enable test 016 and 025 to work with NFS protocol

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 170632dbc9f75217861dd8bf2e6da3c269a1ba18
      
https://github.com/qemu/qemu/commit/170632dbc9f75217861dd8bf2e6da3c269a1ba18
  Author: Peter Lieven <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M tests/qemu-iotests/common
    M tests/qemu-iotests/common.rc

  Log Message:
  -----------
  qemu-iotests: enable support for NFS protocol

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 765003db029ed4660a09807958276e251de84fac
      
https://github.com/qemu/qemu/commit/765003db029ed4660a09807958276e251de84fac
  Author: Kevin Wolf <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block.c
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out

  Log Message:
  -----------
  block: Fail gracefully with missing filename

This fixes a regression introduced in commit 2a05cbe42 ('block: Allow
block devices without files'):

$ qemu-system-x86_64 -drive driver=file
qemu-system-x86_64: block.c:892: bdrv_open_common: Assertion
`!drv->bdrv_needs_filename || filename != ((void *)0)' failed.

Now the respective check must be performed not only in bdrv_file_open(),
but also in bdrv_open().

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>


  Commit: 5d259fc7da83249a4f78fe32de2bc2874a997a9f
      
https://github.com/qemu/qemu/commit/5d259fc7da83249a4f78fe32de2bc2874a997a9f
  Author: Peter Lieven <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  block/iscsi: always fill bs->bl.opt_transfer_length

the opt_transfer_length has nothing to do with logical
block provisioning stuff so always copy it from
the block limits VPD page.

Reported-By: Benoit Canet <address@hidden>
Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 16f0587e0a5da5b1ad76cb7c3739491bc042201c
      
https://github.com/qemu/qemu/commit/16f0587e0a5da5b1ad76cb7c3739491bc042201c
  Author: Hu Tao <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block/qcow2-cluster.c
    M block/qcow2.c
    M block/qcow2.h
    M trace-events

  Log Message:
  -----------
  qcow2: remove n_start and n_end of qcow2_alloc_cluster_offset()

n_start can be actually calculated from offset. The number of
sectors to be allocated(n_end - n_start) can be passed in in
num. By removing n_start and n_end, we can save two parameters.

The side effect is there is a bug in qcow2.c:preallocate() that
passes incorrect n_start to qcow2_alloc_cluster_offset() is
fixed. The bug can be triggerred by a larger cluster size than
the default value(65536), for example:

./qemu-img create -f qcow2 \
  -o 'cluster_size=131072,preallocation=metadata' file.img 4G

Signed-off-by: Hu Tao <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 33304ec9fa484e765c6249673e09e1b7d49c5b85
      
https://github.com/qemu/qemu/commit/33304ec9fa484e765c6249673e09e1b7d49c5b85
  Author: Hu Tao <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block/qcow2-refcount.c

  Log Message:
  -----------
  qcow2: fix offset overflow in qcow2_alloc_clusters_at()

When cluster size is big enough it can lead to an offset overflow
in qcow2_alloc_clusters_at(). This patch fixes it.

The allocation is stopped each time at L2 table boundary
(see handle_alloc()), so the possible maximum bytes could be

  2^(cluster_bits - 3 + cluster_bits)

cluster_bits - 3 is used to compute the number of entry by L2
and the additional cluster_bits is to take into account each
clusters referenced by the L2 entries.

so int is safe for cluster_bits<=17, unsafe otherwise.

Signed-off-by: Hu Tao <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 7c2bbf4aa66ca5a9fc2ca147e0e6cb6f407a3aa2
      
https://github.com/qemu/qemu/commit/7c2bbf4aa66ca5a9fc2ca147e0e6cb6f407a3aa2
  Author: Hu Tao <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: check for NULL l2meta

In the case of a metadata preallocation with a large cluster size,
qcow2_alloc_cluster_offset() can allocate nothing and returns a
NULL l2meta. This patch checks for it and link2 l2 with only valid
l2meta.

Replace 9 and 512 with BDRV_SECTOR_BITS, BDRV_SECTOR_SIZE
respectively while at the function.

Signed-off-by: Hu Tao <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 693a50ade339e3ef9b042fd73a3b81405101ba3d
      
https://github.com/qemu/qemu/commit/693a50ade339e3ef9b042fd73a3b81405101ba3d
  Author: Hu Tao <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    A tests/qemu-iotests/079
    A tests/qemu-iotests/079.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-iotests: add test for qcow2 preallocation with different cluster sizes

Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Hu Tao <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ad6aef43d36fe65701ff84193576d7f3dcb82dc5
      
https://github.com/qemu/qemu/commit/ad6aef43d36fe65701ff84193576d7f3dcb82dc5
  Author: Kevin Wolf <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block/raw_bsd.c

  Log Message:
  -----------
  raw: Fix BlockLimits passthrough

raw copies over the BlockLimits of bs->file during bdrv_open().
However, since commit d34682cd it is immediately overwritten during
bdrv_refresh_limits(). This caused all fields except for
opt_transfer_length and opt_mem_alignment (which happen to be correctly
inherited in generic code) to be zeroed.

Move the BlockLimit assignment to a .bdrv_refresh_limits() callback to
make it work again for all fields.

Reported-by: Laszlo Ersek <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>


  Commit: 99c4a85ce65863e6ba6668164d47c0d7c645e3aa
      
https://github.com/qemu/qemu/commit/99c4a85ce65863e6ba6668164d47c0d7c645e3aa
  Author: Kevin Wolf <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Fix memory leaks in bdrv_co_do_pwritev()

The error path for a failure in one of the two bdrv_aligned_preadv()
calls leaked head_buf or tail_buf, respectively. This fixes the memory
leak.

Reported-by: Laszlo Ersek <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>


  Commit: af91f9a73c3a67eebbf4120cae62b82db8eaae19
      
https://github.com/qemu/qemu/commit/af91f9a73c3a67eebbf4120cae62b82db8eaae19
  Author: Kevin Wolf <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: bdrv_aligned_pwritev: Assert overlap range

This adds assertions that the request that we actually end up passing to
the block driver (which includes RMW data and has therefore potentially
been rounded to alignment boundaries) is fully covered by the
overlap_{offset,size} fields of the associated BdrvTrackedRequest.

Suggested-by: Laszlo Ersek <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>


  Commit: 5f5bcd80f8c365bca1480dc39141952fa7f88c71
      
https://github.com/qemu/qemu/commit/5f5bcd80f8c365bca1480dc39141952fa7f88c71
  Author: Kevin Wolf <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Don't call ROUND_UP with negative values

The behaviour of the ROUND_UP macro with negative numbers isn't obvious.
It happens to do the right thing in this please, but better avoid it.

Suggested-by: Laszlo Ersek <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>


  Commit: eaf944a43835399f12808aebd0d0a1db6249ed07
      
https://github.com/qemu/qemu/commit/eaf944a43835399f12808aebd0d0a1db6249ed07
  Author: Kevin Wolf <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block/blkdebug.c

  Log Message:
  -----------
  blkdebug: Don't leak bs->file on failure

Reported-by: Laszlo Ersek <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>


  Commit: e96126ffa53d36ec75a1ee900a6b7e7c82d9bb9c
      
https://github.com/qemu/qemu/commit/e96126ffa53d36ec75a1ee900a6b7e7c82d9bb9c
  Author: Kevin Wolf <address@hidden>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Fix 32 bit truncation in mark_request_serialising()

On 32 bit hosts, size_t is too small for align as the bitmask
~(align - 1) will zero out the higher 32 bits of the offset.

While at it, change the local overlap_bytes variable to unsigned to
match the field in BdrvTrackedRequest.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>


  Commit: 628a746cf0d380ba8fc0fff2926c899e323768a7
      
https://github.com/qemu/qemu/commit/628a746cf0d380ba8fc0fff2926c899e323768a7
  Author: Peter Maydell <address@hidden>
  Date:   2014-02-12 (Wed, 12 Feb 2014)

  Changed paths:
    M MAINTAINERS
    M block.c
    M block/Makefile.objs
    M block/blkdebug.c
    M block/iscsi.c
    A block/nfs.c
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2.c
    M block/qcow2.h
    M block/raw_bsd.c
    M configure
    M qapi-schema.json
    M tests/qemu-iotests/013
    M tests/qemu-iotests/014
    M tests/qemu-iotests/016
    M tests/qemu-iotests/018
    M tests/qemu-iotests/019
    M tests/qemu-iotests/020
    M tests/qemu-iotests/023
    M tests/qemu-iotests/024
    M tests/qemu-iotests/025
    M tests/qemu-iotests/026
    M tests/qemu-iotests/028
    M tests/qemu-iotests/031
    M tests/qemu-iotests/034
    M tests/qemu-iotests/036
    M tests/qemu-iotests/037
    M tests/qemu-iotests/038
    M tests/qemu-iotests/039
    M tests/qemu-iotests/043
    M tests/qemu-iotests/046
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out
    M tests/qemu-iotests/052
    M tests/qemu-iotests/054
    M tests/qemu-iotests/059
    M tests/qemu-iotests/060
    M tests/qemu-iotests/061
    M tests/qemu-iotests/063
    M tests/qemu-iotests/069
    M tests/qemu-iotests/071
    M tests/qemu-iotests/072
    M tests/qemu-iotests/077
    A tests/qemu-iotests/079
    A tests/qemu-iotests/079.out
    M tests/qemu-iotests/common
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group
    M trace-events

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kevin/tags/for-anthony' into staging

Block patches

# gpg: Signature made Sun 09 Feb 2014 08:12:51 GMT using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"

* remotes/kevin/tags/for-anthony:
  block: Fix 32 bit truncation in mark_request_serialising()
  blkdebug: Don't leak bs->file on failure
  block: Don't call ROUND_UP with negative values
  block: bdrv_aligned_pwritev: Assert overlap range
  block: Fix memory leaks in bdrv_co_do_pwritev()
  raw: Fix BlockLimits passthrough
  qemu-iotests: add test for qcow2 preallocation with different cluster sizes
  qcow2: check for NULL l2meta
  qcow2: fix offset overflow in qcow2_alloc_clusters_at()
  qcow2: remove n_start and n_end of qcow2_alloc_cluster_offset()
  block/iscsi: always fill bs->bl.opt_transfer_length
  block: Fail gracefully with missing filename
  qemu-iotests: enable support for NFS protocol
  qemu-iotests: enable test 016 and 025 to work with NFS protocol
  qemu-iotests: blacklist test 020 for NFS protocol
  qemu-iotests: change _supported_proto to file for various tests
  block: add native support for NFS
  qemu-iotest: Make 077 raw-only

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/a4550442b947...628a746cf0d3

reply via email to

[Prev in Thread] Current Thread [Next in Thread]