diff mbox series

hotplug: Restore block-tap phy compatibility

Message ID 20240516022212.5034-1-jandryuk@gmail.com (mailing list archive)
State New, archived
Headers show
Series hotplug: Restore block-tap phy compatibility | expand

Commit Message

Jason Andryuk May 16, 2024, 2:22 a.m. UTC
From: Jason Andryuk <jason.andryuk@amd.com>

From: Jason Andryuk <jason.andryuk@amd.com>

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>
---
This is tested with tapback, but untested with phy/blkback since I don't
have the kernel module setup.

 tools/hotplug/Linux/block-tap | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

Comments

Jan Beulich May 16, 2024, 7:41 a.m. UTC | #1
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
Jason Andryuk May 16, 2024, 1:52 p.m. UTC | #2
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
Jan Beulich June 19, 2024, 12:07 p.m. UTC | #3
On 16.05.2024 15:52, Jason Andryuk wrote:
> 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")

Surely this wants going into 4.19? Thus - Anthony, Oleksii?

Jan
Anthony PERARD June 19, 2024, 2:33 p.m. UTC | #4
On Wed, Jun 19, 2024 at 02:07:04PM +0200, Jan Beulich wrote:
> On 16.05.2024 15:52, Jason Andryuk wrote:
> > 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")
> 
> Surely this wants going into 4.19? Thus - Anthony, Oleksii?

Yes, I think so.

Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,
Oleksii Kurochko June 20, 2024, 9:49 a.m. UTC | #5
On Wed, 2024-06-19 at 14:33 +0000, Anthony PERARD wrote:
> On Wed, Jun 19, 2024 at 02:07:04PM +0200, Jan Beulich wrote:
> > On 16.05.2024 15:52, Jason Andryuk wrote:
> > > 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")
> > 
> > Surely this wants going into 4.19? Thus - Anthony, Oleksii?
> 
> Yes, I think so.
> 
> Acked-by: Anthony PERARD <anthony.perard@vates.tech>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii
diff mbox series

Patch

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"
 }