Message ID | 20240516022212.5034-1-jandryuk@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | hotplug: Restore block-tap phy compatibility | expand |
On 16.05.2024 04:22, Jason Andryuk wrote: > From: Jason Andryuk <jason.andryuk@amd.com> > > From: Jason Andryuk <jason.andryuk@amd.com> Two identical From: (also in another patch of yours, while in yet another one you have two _different_ ones, when only one will survive into the eventual commit anyway)? > backendtype=phy using the blktap kernel module needs to use write_dev, > but tapback can't support that. tapback should perform better, but make > the script compatible with the old kernel module again. > > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com> Should there be a Fixes: tag here? Jan
On 2024-05-16 03:41, Jan Beulich wrote: > On 16.05.2024 04:22, Jason Andryuk wrote: >> From: Jason Andryuk <jason.andryuk@amd.com> >> >> From: Jason Andryuk <jason.andryuk@amd.com> > > Two identical From: (also in another patch of yours, while in yet another one > you have two _different_ ones, when only one will survive into the eventual > commit anyway)? Sorry about that. Since I was sending from my gmail account, I thought I needed explicit From: lines to ensure the authorship was listed w/ amd.com. I generated the patches with `git format-patch --from`, to get the explicit From: lines, and then sent with `git send-email`. The send-email step then inserted the additional lines. I guess it added From amd.com since I had changed to that address in .gitconfig. >> backendtype=phy using the blktap kernel module needs to use write_dev, >> but tapback can't support that. tapback should perform better, but make >> the script compatible with the old kernel module again. >> >> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com> > > Should there be a Fixes: tag here? That makes sense. Fixes: 76a484193d ("hotplug: Update block-tap") Thanks, Jason
diff --git a/tools/hotplug/Linux/block-tap b/tools/hotplug/Linux/block-tap index 126e472786..8661ce77e3 100755 --- a/tools/hotplug/Linux/block-tap +++ b/tools/hotplug/Linux/block-tap @@ -20,9 +20,13 @@ # # Disks should be specified using the following syntax: # +# For use with tapback (vbd3) (preferred): # vdev=xvda,backendtype=tap,format=vhd,target=/srv/target.vhd # -# format is either "aio" (for raw files), or "vhd" +# For use with blkback and the blktap2 kernel module: +# script=block-tap,vdev=xvda,target=<type>:<file> +# +# format/<type> is either "aio" (for raw files), or "vhd" dir=$(dirname "$0") . "$dir/block-common.sh" @@ -205,12 +209,17 @@ add() 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 + if [ "$XENBUS_TYPE" = "vbd3" ] ; then + # $dev, as a unix socket, has major:minor 0:0. If write_dev writes + # physical-device, tapback would use that incorrect minor 0. So don't + # write physical-device. + xenstore_write "$XENBUS_PATH/physical-device-path" "$dev" + + success + else + write_dev "$dev" + fi release_lock "block" }