From patchwork Thu May 17 15:35:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Durrant X-Patchwork-Id: 915509 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=citrix.com Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40mwQp6SxWz9s3B for ; Fri, 18 May 2018 01:37:06 +1000 (AEST) Received: from localhost ([::1]:32932 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJKxk-0005H7-Cj for incoming@patchwork.ozlabs.org; Thu, 17 May 2018 11:37:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50490) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJKww-0005F5-MT for qemu-devel@nongnu.org; Thu, 17 May 2018 11:36:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fJKws-0006Sn-8d for qemu-devel@nongnu.org; Thu, 17 May 2018 11:36:14 -0400 Received: from smtp03.citrix.com ([162.221.156.55]:38422) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fJKwr-0006S8-U1; Thu, 17 May 2018 11:36:10 -0400 X-IronPort-AV: E=Sophos;i="5.49,411,1520899200"; d="scan'208";a="54916621" From: Paul Durrant To: , , Date: Thu, 17 May 2018 16:35:49 +0100 Message-ID: <1526571358-26685-1-git-send-email-paul.durrant@citrix.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 162.221.156.55 Subject: [Qemu-devel] [PATCH v4 0/9] xen_disk: legacy code removal and cleanup X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Stefano Stabellini , Jason Wang , Greg Kurz , Max Reitz , Paul Durrant , Gerd Hoffmann , Anthony Perard , Paolo Bonzini Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The grant copy operation was added to libxengnttab in Xen 4.8.0 (released nearly 18 months ago) but the xen_disk PV backend QEMU is still carrying a significant amount of code purely to remain compatible with older versions of Xen. As can be inferred from the diff stats below, removing this support for older versions of Xen from QEMU reduces the size of the xen_disk source by around 320 lines (~25%). This versionseries maintains compatibility with older Xen, and OS not supporting the grant copy operation, by adding an emulation of it into the xen_backend code. Thus xen_disk can be simplified without regressing support for any environment. This series also performs general cleanup of the code by introducing and consistently using helper functions for calling into libxenttab. v4: - Added new patch #1 to negate the need for #ifdef exclusions in xen_disk thus allowing the patch #2 (previous patch #1) to remain unmodified from v3 but still compile against Xen 4.7. Paul Durrant (9): xen: add a meaningful declaration of grant_copy_segment into xen_common.h xen_backend: add grant table helpers xen_disk: remove open-coded use of libxengnttab xen: remove other open-coded use of libxengnttab xen_backend: add an emulation of grant copy xen_disk: remove use of grant map/unmap xen_backend: make the xen_feature_grant_copy flag private xen_disk: use a single entry iovec xen_disk: be consistent with use of xendev and blkdev->xendev hw/9pfs/xen-9p-backend.c | 32 ++- hw/block/xen_disk.c | 614 +++++++------------------------------------ hw/char/xen_console.c | 9 +- hw/net/xen_nic.c | 33 +-- hw/usb/xen-usb.c | 37 ++- hw/xen/xen_backend.c | 178 ++++++++++++- include/hw/xen/xen_backend.h | 34 ++- include/hw/xen/xen_common.h | 17 +- 8 files changed, 365 insertions(+), 589 deletions(-) --- Cc: Anthony Perard Cc: Gerd Hoffmann Cc: Greg Kurz Cc: Jason Wang Cc: Kevin Wolf Cc: Max Reitz Cc: Paolo Bonzini Cc: Stefano Stabellini -- 2.1.4