From patchwork Sun Apr 7 20:49:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Andryuk X-Patchwork-Id: 13620284 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 168C8CD1292 for ; Sun, 7 Apr 2024 20:50:22 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.701683.1096014 (Exim 4.92) (envelope-from ) id 1rtZSs-0005mK-QZ; Sun, 07 Apr 2024 20:50:10 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 701683.1096014; Sun, 07 Apr 2024 20:50:10 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rtZSs-0005mD-NM; Sun, 07 Apr 2024 20:50:10 +0000 Received: by outflank-mailman (input) for mailman id 701683; Sun, 07 Apr 2024 20:50:09 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rtZSr-0005XS-BO for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 20:50:09 +0000 Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com [2607:f8b0:4864:20::730]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 6a86dd41-f520-11ee-a1ef-f123f15fe8a2; Sun, 07 Apr 2024 22:50:07 +0200 (CEST) Received: by mail-qk1-x730.google.com with SMTP id af79cd13be357-78d4944e0a9so144364285a.2 for ; Sun, 07 Apr 2024 13:50:07 -0700 (PDT) Received: from shine.lan (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com. [207.172.141.204]) by smtp.gmail.com with ESMTPSA id op3-20020a05620a534300b0078a593b54e6sm2512745qkn.96.2024.04.07.13.50.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Apr 2024 13:50:05 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 6a86dd41-f520-11ee-a1ef-f123f15fe8a2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712523005; x=1713127805; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=V8EbFCk7pyX9KLNJxLbJbXKheVVaGxukhqPZhBhemso=; b=mdkPejn+F8rwNeRo0vdNUFdB6FiUf1E6earn8cMUH6RNQmZ7XjKXZjVLHgUWg+9hIU Fx61L7g1jv9FamjNtS8OzSq7rx9IdjIv1s6LR4HC9C+gU6xRhrmz+FWiNZxPvpP7IRsj KIMthntI04oIMwDVIagWY4OP2EQylcEcQQzIuZ47WSMtt5P8LyR4aJwFvixDatKdrgIK ZaMueY6NaPU6dgMq6wkYrjdH4xEU/Jn129Ycb24EAgqnQF9fnDEPWwZYg0vetfNHbmWO 7DUcCz7VhrvwX/42VATxqD4IqC3bF6nkulIvb3U0qxKsvC0M4dsGRczOor2qGOIdpNEO 391Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712523005; x=1713127805; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=V8EbFCk7pyX9KLNJxLbJbXKheVVaGxukhqPZhBhemso=; b=xHxosAZSJYcBpmcS4QUjPp+bTd9A9XDT5c5RKTq0xG/KIjOtU20OZGAwR715cxnWRD JKgvMq7KCKlxk+W6PRcjYaN5kxdTNziKkYiT9ZfcL1O6dMwLz6o/tA2z2NhUr5pfbrRX 7QCCWdU7MYnPkw3f4hpNpva2Dd2pGXt0vEtAwfwNZW1ckEwumOiJhuY/ECdtufHHvPH9 5XqjNUig+RSLkZr/LZOt+KOQoH1N8rSjXPApAD8q6GTsGYxQiF3n6fZcwJ2ADFkfG+US 7ck0Yb2SzJgu0XRABKn4O2vVcIcFAv5/E3aNJbXE6njtMvJan211HDdAcY6SBonZokjF O81Q== X-Gm-Message-State: AOJu0Yy5s3DZt5BGyqyBMdmJKOnyiybJoZ2a7LxTeFZf7O30H8ual8JH e7ocicGUfqrLHb/r5Xj/UFJdtSM2Bpg/+sfR4dLqmjfdlExOurWpWB6Ir0CV X-Google-Smtp-Source: AGHT+IF3lgmcx5KUKZv6afRZZQhja5ZM9Vnojc55e71pmOFMggCiRTrP8zg8/71tRkhG21BOhG30fw== X-Received: by 2002:a05:620a:8802:b0:78d:640a:4e9a with SMTP id qj2-20020a05620a880200b0078d640a4e9amr2036838qkn.45.1712523005542; Sun, 07 Apr 2024 13:50:05 -0700 (PDT) From: Jason Andryuk To: xen-devel@lists.xenproject.org Cc: Jason Andryuk , Wei Liu , Anthony PERARD , Jason Andryuk Subject: [PATCH v2 1/3] hotplug: Update block-tap Date: Sun, 7 Apr 2024 16:49:51 -0400 Message-Id: <20240407204953.60442-2-jandryuk@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240407204953.60442-1-jandryuk@gmail.com> References: <20240407204953.60442-1-jandryuk@gmail.com> MIME-Version: 1.0 Implement a sharing check like the regular block script. Checking tapback inside block-tap is too late since it needs to be running to transition the backend to InitWait before block-tap is run. tap-ctl check will be removed when the requirement for the blktap kernel driver is removed. Remove it now as it is of limited use. find_device() needs to be non-fatal allow a sharing check. Only write physical-device-path because that is all that tapback needs. Also write_dev doesn't handled files and would incorrectly store physical-device as 0:0 which would confuse the minor inside tapback Signed-off-by: Jason Andryuk Signed-off-by: Jason Andryuk Reviewed-by: Anthony PERARD --- v2: Update usage string Use local more Don't use local for pid/minor Use tap-ctl destroy Use 4 space indent in count_using and check_tap_sharing --- tools/hotplug/Linux/block-tap | 169 +++++++++++++++++++++++++++++++--- 1 file changed, 157 insertions(+), 12 deletions(-) diff --git a/tools/hotplug/Linux/block-tap b/tools/hotplug/Linux/block-tap index 89247921b9..126e472786 100755 --- a/tools/hotplug/Linux/block-tap +++ b/tools/hotplug/Linux/block-tap @@ -18,11 +18,11 @@ # # Usage: # -# Target should be specified using the following syntax: +# Disks should be specified using the following syntax: # -# script=block-tap,vdev=xvda,target=: +# vdev=xvda,backendtype=tap,format=vhd,target=/srv/target.vhd # -# Type is either "aio" (for raw files), or "vhd" +# format is either "aio" (for raw files), or "vhd" dir=$(dirname "$0") . "$dir/block-common.sh" @@ -37,10 +37,6 @@ check_tools() if ! command -v tap-ctl > /dev/null 2>&1; then fatal "Unable to find tap-ctl tool" fi - modprobe blktap - if ! tap-ctl check >& /dev/null ; then - fatal "Blocktap kernel module not available" - fi } # Sets the following global variables based on the params field passed in as @@ -81,7 +77,109 @@ find_device() done if [ -z "$pid" ] || [ -z "$minor" ]; then - fatal "cannot find required parameters" + return 1 + fi + + return 0 +} + +count_using() +{ + local file="$1" + local dom + local dev + local f + + local i=0 + local base_path="$XENBUS_BASE_PATH/$XENBUS_TYPE" + for dom in $(xenstore-list "$base_path") + do + for dev in $(xenstore-list "$base_path/$dom") + do + f=$(xenstore_read_default "$base_path/$dom/$dev/params" "") + f=$(echo "$f" | cut -d ":" -f 2) + + if [ -n "$f" ] && [ "$file" = $f ] ; then + i=$(( i + 1 )) + fi + done + done + + echo "$i" +} + +# tap_shared is used to determine if a shared tap can be closed +# Since a stubdom and a guest both use the same tap, it can only +# be freed when there is a single one left. +tap_shared() { + [ $( count_using "$file" ) -gt 1 ] +} + +check_tap_sharing() +{ + local file="$1" + local mode="$2" + local dom + local dev + + local base_path="$XENBUS_BASE_PATH/$XENBUS_TYPE" + for dom in $(xenstore-list "$base_path") ; do + for dev in $(xenstore-list "$base_path/$dom") ; do + local f=$(xenstore_read_default "$base_path/$dom/$dev/params" "") + f=$(echo "$f" | cut -d ":" -f 2) + + if [ -n "$f" ] && [ "$file" = "$f" ] ; then + if [ "$mode" = 'w' ] ; then + if ! same_vm $dom ; then + echo "guest $f" + return + fi + else + local m=$(xenstore_read_default "$base_path/$dom/$dev/mode" + "") + m=$(canonicalise_mode "$m") + + if [ "$m" = 'w' ] ; then + if ! same_vm $dom ; then + echo "guest $f" + return + fi + fi + fi + fi + done + done + + echo 'ok' +} + +tap_create() +{ + if ! minor=$( tap-ctl allocate ) ; then + fatal "Could not allocate minor" + fi + + # Handle with or without kernel blktap + minor=${minor#/run/blktap-control/tapdisk/tapdisk-} + minor=${minor#/dev/xen/blktap-2/tapdev} + + # tap-ctl is spawning tapdisk which would hold the _lockfd open. + # Ensure it is closed before running tap-ctl spawn, which needs to be + # done in a subshell to continue holding the lock in the parent. + if ! pid=$( ( eval "exec $_lockfd>&-" ; tap-ctl spawn ) ) ; then + tap-ctl free -m "$minor" + fatal "Could not spawn tapdisk for $minor" + fi + + if ! tap-ctl attach -p "$pid" -m "$minor" ; then + tap-ctl free -m "$minor" + fatal "Could not attach $pid and $minor" + fi + + if ! tap-ctl open -p "$pid" -m "$minor" -a "$target" ; then + tap-ctl detach -p "$pid" -m "$minor" + tap-ctl free -m "$minor" + fatal "Could not open \"$target\"" fi } @@ -89,15 +187,54 @@ find_device() # the device add() { - dev=$(tap-ctl create -a $target) - write_dev $dev + local result + + claim_lock "block" + + if find_device; then + result=$( check_tap_sharing "$file" "$mode" ) + if [ "$result" != "ok" ] ; then + do_ebusy "tap $type file $file in use " "$mode" "${result%% *}" + fi + else + tap_create + fi + + # Create nbd unix path. find_device/tap_create set pid & minor + dev=$( printf "/run/blktap-control/nbd%ld.%d" "$pid" "$minor" ) + + xenstore_write "$XENBUS_PATH/pid" "$pid" + xenstore_write "$XENBUS_PATH/minor" "$minor" + # dev, as a unix socket, would end up with major:minor 0:0 in + # physical-device if write_dev were used. tapback would be thrown off by + # that incorrect minor, so just skip writing physical-device. + xenstore_write "$XENBUS_PATH/physical-device-path" "$dev" + + success + + release_lock "block" } # Disconnects the device remove() { - find_device - do_or_die tap-ctl destroy -p ${pid} -m ${minor} > /dev/null + local minor + local pid + + claim_lock "block" + + if tap_shared ; then + return + fi + + minor=$( xenstore_read "$XENBUS_PATH/minor" ) + pid=$( xenstore_read "$XENBUS_PATH/pid" ) + + [ -n "$minor" ] || fatal "minor missing" + [ -n "$pid" ] || fatal "pid missing" + do_or_die tap-ctl destroy -p "$pid" -m "$minor" > /dev/null + + release_lock "block" } command=$1 @@ -110,6 +247,14 @@ parse_target "$target" check_tools || exit 1 +mode=$( xenstore_read $XENBUS_PATH/mode ) +mode=$( canonicalise_mode $mode ) + +# needed for same_vm +FRONTEND_ID=$(xenstore_read "$XENBUS_PATH/frontend-id") +FRONTEND_UUID=$(xenstore_read_default \ + "/local/domain/$FRONTEND_ID/vm" 'unknown') + case $command in add) add From patchwork Sun Apr 7 20:49:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Andryuk X-Patchwork-Id: 13620286 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 76E04CD1296 for ; Sun, 7 Apr 2024 20:50:23 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.701684.1096024 (Exim 4.92) (envelope-from ) id 1rtZSv-00061z-1a; Sun, 07 Apr 2024 20:50:13 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 701684.1096024; Sun, 07 Apr 2024 20:50:13 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rtZSu-00061p-V5; Sun, 07 Apr 2024 20:50:12 +0000 Received: by outflank-mailman (input) for mailman id 701684; Sun, 07 Apr 2024 20:50:11 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rtZSt-0005XS-Ch for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 20:50:11 +0000 Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com [2607:f8b0:4864:20::732]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 6bcf080c-f520-11ee-a1ef-f123f15fe8a2; Sun, 07 Apr 2024 22:50:09 +0200 (CEST) Received: by mail-qk1-x732.google.com with SMTP id af79cd13be357-78d57bd577dso99044185a.2 for ; Sun, 07 Apr 2024 13:50:09 -0700 (PDT) Received: from shine.lan (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com. [207.172.141.204]) by smtp.gmail.com with ESMTPSA id op3-20020a05620a534300b0078a593b54e6sm2512745qkn.96.2024.04.07.13.50.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Apr 2024 13:50:07 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 6bcf080c-f520-11ee-a1ef-f123f15fe8a2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712523008; x=1713127808; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8ZDvIUsAKPV206Pd7mJP42UrMWzTymOhx8HDziGsICo=; b=nmd2oqZzt/S1y3MZrB+gnyY74DWnepC6jgRdQInSEjQdBGe8W2M1yW+jECCt4vSiCF Pc/cL0yGfR4YIsHxNJ7Uy0v0EE3q7Is0kmLOFOSxDhGMHGmS/0PWQSwiJXwje898gyEP 5Dqltt5m9MsPzFOnqDXWZMX9VQ99aMRGY6xBBMEvgSsSvSMLSVAAx4Gm3/mCyZWyTeKP v6+9atH21MaLP0s1r5OsPXu+Cqd/NOeMUtkLN5pjzHUX3uX7vO8XCsz2KTl0ooyWkuVf t8B7mbHBVgcTKJJMlncj70ONpSLshaXhNnenY0f4Yd/t+H6kADpjLUXEoNfAzCDRZgeE +U9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712523008; x=1713127808; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8ZDvIUsAKPV206Pd7mJP42UrMWzTymOhx8HDziGsICo=; b=T28fcxe2C8kfsI8VAajr4oQcg7MLIBZmt/0yLL5iyjF8hRlf7D2/QmyI+rSXo5d1jl 8OUcp2elXPHVsdLGAEKwnUct1BABVcq58jceR5RKAhJvvnJTT0J5vq38Dlu2EOceLLIA K1w46dLcpPLmgh0jME5V3Z4j//N/VtaADekS1lF1USAO79uL4slHNNAExkpN/Yl/YzzB Aes/8GmQQ/eBTe/H8lf0UFX8ZlUJ23TEN1TVcIbzNF8dygDU4f2et0lTxlRtpeeBu5XE epR7irsjZdgpHeBeRoQXVI1JrV0St+zc/OIXK0rlpVCEzX0VMKzCdsshmcXzIyq8Eu+e pdpA== X-Gm-Message-State: AOJu0Ywa8XgkxZH79Vwpudc5+jStg4K41zOLhEuzKBrzeo2LFA3AHgqu LK7rMwPLG2BoyQVW5ucn26xJ/GXyudkw9U0rRs4Y1pWwQjVdSqXBwIEvTc/0 X-Google-Smtp-Source: AGHT+IHUCCTAjf79Y8ZrkaloLomDLgJ1qtrOdgfyTEx1LMnfPTvwUnlErnzAeFfIv6z7S6NKdYtEmg== X-Received: by 2002:ae9:ea03:0:b0:78b:e7ed:2a08 with SMTP id f3-20020ae9ea03000000b0078be7ed2a08mr7479809qkg.41.1712523007822; Sun, 07 Apr 2024 13:50:07 -0700 (PDT) From: Jason Andryuk To: xen-devel@lists.xenproject.org Cc: Jason Andryuk , Wei Liu , Anthony PERARD , Juergen Gross , Jason Andryuk Subject: [PATCH v2 2/3] libxl: Support blktap with HVM device model Date: Sun, 7 Apr 2024 16:49:52 -0400 Message-Id: <20240407204953.60442-3-jandryuk@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240407204953.60442-1-jandryuk@gmail.com> References: <20240407204953.60442-1-jandryuk@gmail.com> MIME-Version: 1.0 blktap exposes disks over UNIX socket Network Block Device (NBD). Modify libxl__device_disk_find_local_path() to provide back the QEMU-formatted NBD path. This allows tapdisk to be used for booting an HVM. Use the nbd+unix:/// format specified by the protocol at https://github.com/NetworkBlockDevice/nbd/blob/master/doc/uri.md Reviewed-by: Anthony PERARD Signed-off-by: Jason Andryuk Signed-off-by: Jason Andryuk --- v2: Add Anthony's R-b Add matching { } to else --- tools/libs/light/libxl_disk.c | 18 ++++++++++++++---- tools/libs/light/libxl_dm.c | 1 - 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.c index 819d34933b..432970f5a7 100644 --- a/tools/libs/light/libxl_disk.c +++ b/tools/libs/light/libxl_disk.c @@ -1724,7 +1724,8 @@ char *libxl__device_disk_find_local_path(libxl__gc *gc, * If the format isn't raw and / or we're using a script, then see * if the script has written a path to the "cooked" node */ - if (disk->script && guest_domid != INVALID_DOMID) { + if ((disk->script && guest_domid != INVALID_DOMID) || + disk->backend == LIBXL_DISK_BACKEND_TAP) { libxl__device device; char *be_path, *pdpath; int rc; @@ -1744,10 +1745,19 @@ char *libxl__device_disk_find_local_path(libxl__gc *gc, LOGD(DEBUG, guest_domid, "Attempting to read node %s", pdpath); path = libxl__xs_read(gc, XBT_NULL, pdpath); - if (path) + if (path) { LOGD(DEBUG, guest_domid, "Accessing cooked block device %s", path); - else - LOGD(DEBUG, guest_domid, "No physical-device-path, can't access locally."); + + /* tapdisk exposes disks locally over UNIX socket NBD. */ + if (disk->backend == LIBXL_DISK_BACKEND_TAP) { + path = libxl__sprintf(gc, "nbd+unix:///?socket=%s", path); + LOGD(DEBUG, guest_domid, + "Directly accessing local TAP target %s", path); + } + } else { + LOGD(DEBUG, guest_domid, + "No physical-device-path, can't access locally."); + } goto out; } diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c index 0b03a7c747..1a24e7961a 100644 --- a/tools/libs/light/libxl_dm.c +++ b/tools/libs/light/libxl_dm.c @@ -1915,7 +1915,6 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, continue; } - assert(disks[i].backend != LIBXL_DISK_BACKEND_TAP); target_path = libxl__device_disk_find_local_path(gc, guest_domid, &disks[i], true); From patchwork Sun Apr 7 20:49:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Andryuk X-Patchwork-Id: 13620285 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3B60CCD129A for ; Sun, 7 Apr 2024 20:50:23 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.701685.1096034 (Exim 4.92) (envelope-from ) id 1rtZSw-0006Hx-7p; Sun, 07 Apr 2024 20:50:14 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 701685.1096034; Sun, 07 Apr 2024 20:50:14 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rtZSw-0006Hq-4V; Sun, 07 Apr 2024 20:50:14 +0000 Received: by outflank-mailman (input) for mailman id 701685; Sun, 07 Apr 2024 20:50:12 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rtZSu-00060u-7h for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 20:50:12 +0000 Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com [2607:f8b0:4864:20::72a]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 6cc60001-f520-11ee-afe6-a90da7624cb6; Sun, 07 Apr 2024 22:50:11 +0200 (CEST) Received: by mail-qk1-x72a.google.com with SMTP id af79cd13be357-78d61097b43so72429585a.2 for ; Sun, 07 Apr 2024 13:50:11 -0700 (PDT) Received: from shine.lan (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com. [207.172.141.204]) by smtp.gmail.com with ESMTPSA id op3-20020a05620a534300b0078a593b54e6sm2512745qkn.96.2024.04.07.13.50.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Apr 2024 13:50:09 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 6cc60001-f520-11ee-afe6-a90da7624cb6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712523010; x=1713127810; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=J9H+mU0bLmZTRtNgxQVgRCM+6MXvTvK1Onu3sx791QI=; b=W/tk6lgd0bpcFlogxU0c+j58pe1reo1bvCwjztZLd6f+967waoZGdLPXgBekH4Dag+ sczs48ywsiOaSJBMN+1B2Q7qHvsIoT2GP1kds/sJlp8ImpvTMQ51jO3FAY2/1Rwq8gz9 TzuyQsNo1GSu2jEq+EA9XpkpJVyYSh8K2lizTYOHlP1+nXpLOcwcuFpEwHxul8tqM5qW F8B1C1glBERQh3PQpfUuR/8/phwxHAl3yimGXNFAbeiyL1aVQczPGdC4Y0uII+xYH4Gm a/rO3h6Zy4ZTRk8hKk4HC2IT/UhDbq7MilBFvP70uug4syZI981n9KN4EscVNbH8D0XR PbdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712523010; x=1713127810; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=J9H+mU0bLmZTRtNgxQVgRCM+6MXvTvK1Onu3sx791QI=; b=GSBUrYx7ggX8ZkB0n9eyI7Gp7eq+Cadc73vigZ+ugHBVdBKRtmCvRPpOtG2tidLSst edxCQAxBODpg6ovv470vIb3jK8B7gf5VDCEnE/zSWQVIAxzmKMk/kFeNmKTyG/x5sbjE 5MuzLSZXZIB9pgU6h4vk8zwmUwtn6GnfR5lRk5gXTAQ09uZ39xJRmZVnClH1RThxn4po 6Vsy38AI9XbHdV31ld1fdu+2xB+Dc8o6uSTpEVhTtBK6M/3gSX5yow9F97DifhZ8WLZo BjCzfJQ/n6d4lZa2vFQsiD+YVGGzQ2aryX4uh8+vOwceEQ8gXkXIAympumTEFytbQLVY bxgw== X-Gm-Message-State: AOJu0Yzg0luQECms0+ocqgE/fQiWJ9FsQHFjdLgNXlAr4EO6+sjDdL8w FmIlHI6n/pfYwG175fl2nuVRbFoh3A0B0aw3FAnPh37aS5N9xgWI3aucBg+S X-Google-Smtp-Source: AGHT+IHcns52DCC0jjOr+gA6C8H/QKjEfs7rBKTpCr/3hXX/JmLDxjiPsumMGa7TEzNKUlNe/d/KcQ== X-Received: by 2002:a05:620a:4092:b0:78d:33f2:c165 with SMTP id f18-20020a05620a409200b0078d33f2c165mr9041350qko.49.1712523009832; Sun, 07 Apr 2024 13:50:09 -0700 (PDT) From: Jason Andryuk To: xen-devel@lists.xenproject.org Cc: Jason Andryuk , Oleksii Kurochko , Community Manager Subject: [PATCH v2 3/3] CHANGELOG: Mention libxl blktap/tapback support Date: Sun, 7 Apr 2024 16:49:53 -0400 Message-Id: <20240407204953.60442-4-jandryuk@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240407204953.60442-1-jandryuk@gmail.com> References: <20240407204953.60442-1-jandryuk@gmail.com> MIME-Version: 1.0 From: Jason Andryuk Add entry for backendtype=tap support in libxl. blktap needs some changes to work with libxl, which haven't been merged. They are available from this PR: https://github.com/xapi-project/blktap/pull/394 Signed-off-by: Jason Andryuk --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8041cfb7d2..036328433d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) for IPIs and Physical addressing mode for external interrupts. - Add a new 9pfs backend running as a daemon in dom0. First user is Xenstore-stubdom now being able to support full Xenstore trace capability. + - libxl support for backendtype=tap with tapback. ### Removed - caml-stubdom. It hasn't built since 2014, was pinned to Ocaml 4.02, and has