From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37489) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YJq6d-0007xv-4B for qemu-devel@nongnu.org; Fri, 06 Feb 2015 16:06:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YJq6Y-00047y-2q for qemu-devel@nongnu.org; Fri, 06 Feb 2015 16:06:27 -0500 Received: from mx1.redhat.com ([209.132.183.28]:42013) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YJq6X-00047s-Qs for qemu-devel@nongnu.org; Fri, 06 Feb 2015 16:06:22 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t16L6KAd018256 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Fri, 6 Feb 2015 16:06:20 -0500 From: Max Reitz Date: Fri, 6 Feb 2015 16:06:15 -0500 Message-Id: <1423256778-3340-1-git-send-email-mreitz@redhat.com> Subject: [Qemu-devel] [PATCH v2 0/3] nbd: Drop BDS backpointer List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Paolo Bonzini , Stefan Hajnoczi , Max Reitz Right now, bdrv_swap() on NBD BDSs results in a segmentation fault pretty much all of the time. This series fixes this. Note that this is not a common case, as bdrv_swap() is generally only performed on root BDSs (there are exceptions, though) and NBD BDSs normally have a format BDS above them. However, due to misconfiguration (or maybe it is not even a misconfiguration, but just a strange configuration) these cases may indeed occur. I took the second patch in this series from my other series "block: Rework bdrv_close_all()" (which has 21 patches itself and depends on 64 other patches, so making this series rely on that one probably would not have been a very good idea). v2: - Rename all functions which now take a BlockDriverState * instead of an NbdClientSession * from nbd_client_session_* to nbd_client_* [Paolo] - Rename nbd_client_close() in nbd.c to client_close() and make it static; otherwise, it would conflict with the "new" nbd_client_close() in block/nbd-client.c git-backport-diff against v1: Key: [----] : patches are identical [####] : number of functional differences between upstream/downstream patch [down] : patch is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively 001/3:[0089] [FC] 'nbd: Drop BDS backpointer' 002/3:[----] [--] 'iotests: Add "wait" functionality to _cleanup_qemu' 003/3:[----] [--] 'iotests: Add test for drive-mirror with NBD target' Max Reitz (3): nbd: Drop BDS backpointer iotests: Add "wait" functionality to _cleanup_qemu iotests: Add test for drive-mirror with NBD target block/nbd-client.c | 101 +++++++++++++++++++++-------------------- block/nbd-client.h | 34 +++++++------- block/nbd.c | 37 ++++++--------- include/block/nbd.h | 1 - nbd.c | 8 ++-- tests/qemu-iotests/094 | 81 +++++++++++++++++++++++++++++++++ tests/qemu-iotests/094.out | 11 +++++ tests/qemu-iotests/common.qemu | 12 ++++- tests/qemu-iotests/group | 1 + 9 files changed, 191 insertions(+), 95 deletions(-) create mode 100755 tests/qemu-iotests/094 create mode 100644 tests/qemu-iotests/094.out -- 2.1.0