From: Christoph Hellwig <hch@infradead.org>
To: KY Srinivasan <kys@microsoft.com>
Cc: Greg KH <greg@kroah.com>, "gregkh@suse.de" <gregkh@suse.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>,
"virtualization@lists.osdl.org" <virtualization@lists.osdl.org>
Subject: Re: [PATCH 00/25] Staging: hv: Cleanup vmbus driver code
Date: Sun, 1 May 2011 16:53:15 -0400 [thread overview]
Message-ID: <20110501205315.GC1017@infradead.org> (raw)
In-Reply-To: <6E21E5352C11B742B20C142EB499E0481DF2A0@TK5EX14MBXC124.redmond.corp.microsoft.com>
On Sun, May 01, 2011 at 06:08:37PM +0000, KY Srinivasan wrote:
> Could you elaborate on the problems/issues when the block driver registers for the
> IDE majors. On the Qemu side, we have a mechanism to disable the emulation when
> PV drivers load. I don't think there is an equivalent mechanism on the Windows side.
> So, as far as I know, registering for the IDE majors is the only way to also prevent native
> drivers in Linux from taking control of the emulated device.
What qemu are you talking about for the qemu side? Upstream qemu
doesn't have any way to provide the same image as multiple devices,
nevermind dynamically unplugging bits in that case. Nor does it support
the hyperv devices.
When you steal majors you rely on:
a) loading earlier than the driver you steal them from
b) the driver not simple using other numbers
c) if it doesn't preventing it from working at all, also for
devices you don't "replace" with your PV devices.
d) that the guest actually uses the minors your claim, e.g. any
current linux distribution uses libata anyway, so you old IDE
major claim wouldn't do anything. Nor would claiming sd majors
as the low-level libata driver would still drive the hardware
even if SD doesn't bind to it.
You really must never present the same device as two emulated devices
instead of doing such hacks.
next prev parent reply other threads:[~2011-05-01 20:53 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-26 16:19 [PATCH 00/25] Staging: hv: Cleanup vmbus driver code K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 01/25] Staging: hv: Introduce a function to map a generic driver pointer to a pointer to storvsc_driver_object K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 02/25] Staging: hv: Get rid of the references to the priv element of struct hv_driver in block driver K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 03/25] Staging: hv: Get rid of the references to the priv element of struct hv_driver in hv_mouse.c K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 04/25] Staging: hv: Introduce a function to map a generic driver pointer to a pointer to struct netvsc_driver K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 05/25] Staging: hv: Get rid of the references to the priv element of struct hv_driver in net driver K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 06/25] Staging: hv: Get rid of the references to the priv element of struct hv_driver in storvsc_drv.c K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 07/25] Staging: hv: Cleanup vmbus_match() K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 08/25] Staging: hv: vmbus_driver cannot be unloaded; cleanup accordingly K. Y. Srinivasan
2011-04-26 22:45 ` Greg KH
2011-04-27 2:31 ` KY Srinivasan
2011-04-28 0:20 ` Greg KH
2011-04-29 13:49 ` KY Srinivasan
2011-04-29 15:10 ` Greg KH
2011-04-29 17:40 ` KY Srinivasan
2011-04-29 22:02 ` KY Srinivasan
2011-04-29 23:14 ` Greg KH
2011-04-29 23:22 ` KY Srinivasan
2011-04-27 4:55 ` uabuntsu
2011-04-26 16:20 ` [PATCH 09/25] Staging: hv: Get rid of vmbus_release_unattached_channels() as it is not used K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 10/25] Staging: hv: Get rid of the priv pointer in struct hv_driver K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 11/25] Staging: hv: Get rid of the drv field in struct hv_device K. Y. Srinivasan
2011-04-26 22:56 ` Greg KH
2011-04-27 1:55 ` KY Srinivasan
2011-04-26 16:20 ` [PATCH 12/25] Staging: hv: Cleanup error handling in vmbus_child_device_register() K. Y. Srinivasan
2011-04-26 22:50 ` Greg KH
2011-04-27 2:11 ` KY Srinivasan
2011-04-28 0:25 ` Greg KH
2011-04-29 15:45 ` KY Srinivasan
2011-04-26 16:20 ` [PATCH 13/25] Staging: hv: Cleanup vmbus_probe() function K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 14/25] Staging: hv: Properly handle errors in hv_pci_probe() K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 15/25] Staging: hv: Make hv_pci_dev a static variable K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 16/25] Staging: hv: Make msg_dpc a global variable K. Y. Srinivasan
2011-04-26 22:43 ` Greg KH
2011-04-26 16:20 ` [PATCH 17/25] Staging: hv: Make event_dpc " K. Y. Srinivasan
2011-04-26 22:43 ` Greg KH
2011-04-26 16:20 ` [PATCH 18/25] Staging: hv: Get rid of struct hv_bus K. Y. Srinivasan
2011-04-26 19:40 ` Greg KH
2011-04-26 20:23 ` KY Srinivasan
2011-04-26 20:58 ` Greg KH
2011-04-26 22:12 ` KY Srinivasan
2011-04-26 16:20 ` [PATCH 19/25] Staging: hv: Add probe function to struct hv_driver K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 20/25] Staging: hv: Use the probe function in " K. Y. Srinivasan
2011-04-26 16:51 ` Christoph Hellwig
2011-04-26 16:20 ` [PATCH 21/25] Staging: hv: Add remove() function to " K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 22/25] Staging: hv: Use the remove() function in " K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 23/25] Staging: hv: Add shutdown() function to " K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 24/25] Staging: hv: Use the shutdown() function in " K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 25/25] Staging: hv: VMBUS is a acpi enumerated device; get irq value from bios K. Y. Srinivasan
2011-04-26 16:57 ` [PATCH 00/25] Staging: hv: Cleanup vmbus driver code Christoph Hellwig
2011-04-26 17:04 ` KY Srinivasan
2011-04-26 19:39 ` Greg KH
2011-04-26 23:28 ` Greg KH
2011-04-27 1:54 ` KY Srinivasan
2011-04-27 6:45 ` Christoph Hellwig
2011-04-27 11:47 ` KY Srinivasan
2011-04-27 12:18 ` Christoph Hellwig
2011-04-29 16:32 ` KY Srinivasan
2011-04-29 16:40 ` Greg KH
2011-04-29 17:32 ` KY Srinivasan
2011-05-01 15:40 ` Christoph Hellwig
2011-05-01 15:46 ` KY Srinivasan
2011-05-01 16:07 ` Christoph Hellwig
2011-05-01 18:08 ` KY Srinivasan
2011-05-01 20:53 ` Christoph Hellwig [this message]
2011-05-02 19:48 ` KY Srinivasan
2011-05-02 20:00 ` Christoph Hellwig
2011-05-02 21:16 ` KY Srinivasan
2011-05-02 21:35 ` Christoph Hellwig
2011-05-02 22:11 ` KY Srinivasan
2011-05-01 15:39 ` Christoph Hellwig
2011-05-01 15:47 ` Greg KH
2011-05-01 18:56 ` KY Srinivasan
2011-05-01 20:47 ` Christoph Hellwig
2011-04-28 0:28 ` Greg KH
2011-04-29 14:26 ` KY Srinivasan
2011-04-29 15:08 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110501205315.GC1017@infradead.org \
--to=hch@infradead.org \
--cc=devel@linuxdriverproject.org \
--cc=greg@kroah.com \
--cc=gregkh@suse.de \
--cc=kys@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=virtualization@lists.osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).