commit 0c817af60da646210652269d420f8686355b8cd3
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Tue Jul 1 22:13:34 2025 +0200

    rumpdisk: Allow rumpusbdisk operate even when gnumach operates SATA
    
    rumpusbdisk's driving of USB sticks won't interfere with gnumach
    operating SATA.

commit 21ca63a9ea91d929a00217fc9496ee89ff89114a (HEAD -> master)
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Wed Jul 2 00:13:17 2025 +0200

    rumpusbdisk: Protect against a running rumpusbdisk.static

Index: hurd-debian/rumpdisk/block-rump.c
===================================================================
--- hurd-debian.orig/rumpdisk/block-rump.c
+++ hurd-debian/rumpdisk/block-rump.c
@@ -160,6 +160,7 @@ rumpdisk_device_init (void)
     {
       device_t device;
 
+#ifdef _RUMP_SATA
       if (! device_open (device_master, D_READ, "hd0", &device)
        || ! device_open (device_master, D_READ, "hd1", &device)
        || ! device_open (device_master, D_READ, "hd3", &device)
@@ -186,9 +187,26 @@ rumpdisk_device_init (void)
 	  disabled = 1;
 	  return;
 	}
+#else
+
+      if (! device_open (device_master, D_READ, "ud0", &device)
+       || ! device_open (device_master, D_READ, "ud1", &device)
+       || ! device_open (device_master, D_READ, "ud2", &device)
+       || ! device_open (device_master, D_READ, "ud3", &device))
+	{
+	  device_close (device);
+	  mach_port_deallocate (mach_task_self (), device);
+	  mach_port_deallocate (mach_task_self (), device_master);
+	  fprintf(stderr, "Kernel is already driving a USB device, skipping probing " RUMP_TYPE_STRING " disks\n");
+	  fflush(stderr);
+	  disabled = 1;
+	  return;
+	}
+#endif
 
       mach_port_deallocate (mach_task_self (), device_master);
     }
+
   rump_init ();
 }
 
