From: Hans de Goede <hdegoede@redhat.com>
To: balbi@ti.com
Cc: linux-usb@vger.kernel.org,
Sarah Sharp <sarah.a.sharp@linux.intel.com>,
linux-media@vger.kernel.org, libusb-devel@lists.sourceforge.net,
Alexander Graf <agraf@suse.de>, Gerd Hoffmann <kraxel@redhat.com>,
hector@marcansoft.com, Jan Kiszka <jan.kiszka@siemens.com>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
pbonzini@redhat.com, Anthony Liguori <aliguori@us.ibm.com>,
Jes Sorensen <Jes.Sorensen@redhat.com>,
Alan Stern <stern@rowland.harvard.edu>,
Oliver Neukum <oliver@neukum.org>, Greg KH <greg@kroah.com>,
Mauro Carvalho Chehab <mchehab@infradead.org>,
Clemens Ladisch <clemens@ladisch.de>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.de>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: Improving kernel -> userspace (usbfs) usb device hand off
Date: Fri, 10 Jun 2011 14:19:20 +0200 [thread overview]
Message-ID: <4DF20BC8.1060703@redhat.com> (raw)
In-Reply-To: <20110610084224.GI31396@legolas.emea.dhcp.ti.com>
Hi,
On 06/10/2011 10:42 AM, Felipe Balbi wrote:
> Hi,
>
> On Fri, Jun 10, 2011 at 10:36:47AM +0200, Hans de Goede wrote:
>>> On Fri, Jun 10, 2011 at 09:55:13AM +0200, Hans de Goede wrote:
<snip>
>>>> So what do we need to make this situation better:
>>>> 1) A usb_driver callback alternative to the disconnect callback,
>>>> I propose to call this soft_disconnect. This serves 2 purposes
>>>> a) It will allow the driver to tell the caller that that is not
>>>> a good idea by returning an error code (think usb mass storage
>>>> driver and mounted filesystem
>>>
>>> I'm not sure you even need a driver callback for that. Should we leave
>>> that to Desktop manager ?
>>
>> Not sure what you mean here, but we need for a way for drivers to say
>> no to a software caused disconnection. See my usb mass storage device
>> which is still mounted getting redirected to a vm example. This cannot
>
> in that case, why don't you just flush all data and continue ? Also,
> desktop manager knows that a particular device mounted, so it could also
> ask the user if s/he wants to continue.
>
> I'm not sure preventing a disconnect is a good thing.
>
I assume you are sure preventing data loss is a good thing? Because in
this example the 2 are the same.
Also note I'm not suggestion at always preventing the disconnect, I'm
suggesting to add a new try_disconnect ioctl, which apps which want
to behave nicely can use instead of the regular disconnect ioctl, and
then drivers can prevent the disconnect. Apps using the old ioctl will
still get an unconditional disconnect as before.
>> be reliably done from userspace. Where as it is trivial to do this
>> from kernel space. One could advocate to make the existing disconnect
>> ioctl use the new soft_disconnect usb_driver callback instead of
>> adding a new usbfs ioctl for this, but that means that a driver
>> can block any and all userspace triggered disconnects. Where as
>> having a new ioctl, means that apps which want to play nice can play
>> nice, while keeping the possibility of a hard userspace initiated
>> disconnect.
>>
>> One could also argue that making the existing disconnect ioctl return
>> -EBUSY in some cases now is an ABI change.
>
> OTOH, if the user really wants to move the usb device to the guest OS,
> he has just requested for that, so should we prevent it ? what we need
> is for the applications to be notified to exit cleanly and release the
> device because the user has requested to do so. No ?
We are talking about a device with a mounted file system on it here,
any process could be holding files open on there, and there currently
exists no mechanism to notify all apps to exit cleanly and release
the files. Even if there were some method for a desktop environment
like gnome to ask apps to release those files, and all gnome apps
where to be modified to support that mechanism, then there are still
1000-s of non gnome (or kde, xfce, whatever) apps which will not
support that.
We already have a mechanism to cleanly close down a filesystem, it
is called unmount. And it will fail if apps have files open. All I'm
suggesting is forwarding this ebusy failure to the application
trying to disconnect the driver from the usb mass storage interface.
Simply removing the filesystem from under apps holding files open will
lead to io errors, and very unhappy apps.
Regards,
Hans
next prev parent reply other threads:[~2011-06-10 12:19 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-10 0:21 USB mini-summit at LinuxCon Vancouver Sarah Sharp
2011-06-10 3:18 ` Greg KH
2011-06-10 6:59 ` Gerd Hoffmann
2011-06-10 19:48 ` Sarah Sharp
2011-06-10 20:50 ` Greg KH
2011-06-13 10:44 ` Alexander Graf
2011-06-13 16:29 ` Greg KH
2011-06-13 17:11 ` Alexander Graf
2011-06-10 7:19 ` Hans de Goede
2011-06-10 7:55 ` Improving kernel -> userspace (usbfs) usb device hand off Hans de Goede
2011-06-10 8:22 ` Felipe Balbi
2011-06-10 8:36 ` Hans de Goede
2011-06-10 8:42 ` Felipe Balbi
2011-06-10 12:19 ` Hans de Goede [this message]
2011-06-10 12:28 ` Felipe Balbi
2011-06-10 14:48 ` Alan Stern
2011-06-10 15:07 ` Mauro Carvalho Chehab
2011-06-10 15:21 ` Alan Stern
2011-06-11 9:15 ` Hans de Goede
2011-06-11 16:19 ` Theodore Kilgore
2011-06-12 11:43 ` Hans de Goede
2011-06-12 21:20 ` Theodore Kilgore
2011-06-13 2:03 ` Xiaofan Chen
2011-06-13 2:27 ` [Libusb-devel] " Michael Bender
2011-06-11 16:57 ` Alan Stern
2011-06-10 18:16 ` Theodore Kilgore
2011-06-10 18:34 ` Felipe Balbi
2011-06-10 21:18 ` Alan Stern
2011-06-10 21:46 ` Felipe Balbi
2011-06-10 22:46 ` Theodore Kilgore
2011-06-10 22:43 ` Theodore Kilgore
2011-06-11 1:30 ` Xiaofan Chen
2011-06-11 4:17 ` Theodore Kilgore
2011-06-13 9:05 ` Felipe Balbi
2011-06-13 13:06 ` Mauro Carvalho Chehab
2011-06-13 13:12 ` Felipe Balbi
2011-08-04 22:21 ` USB mini-summit at LinuxCon Vancouver Mauro Carvalho Chehab
2011-08-04 22:56 ` Greg KH
[not found] ` <CAA6KcBBZv7bvVxvEWOYL83igpNZHyzh=bcGxh6Dr5aKsvJK5Cg@mail.gmail.com>
2011-08-05 0:33 ` Mauro Carvalho Chehab
2011-08-05 2:56 ` Theodore Kilgore
2011-08-05 6:57 ` Oliver Neukum
2011-08-05 17:38 ` Theodore Kilgore
2011-08-05 7:45 ` Hans de Goede
2011-08-05 7:59 ` USB mini-summit at LinuxCon Vancouveroliver Oliver Neukum
2011-08-05 8:18 ` Hans de Goede
2011-08-05 13:07 ` USB mini-summit at LinuxCon Vancouver Mauro Carvalho Chehab
2011-08-08 17:58 ` Sarah Sharp
2011-08-08 18:23 ` Theodore Kilgore
2011-08-08 18:32 ` Sarah Sharp
2011-08-08 19:37 ` Mauro Carvalho Chehab
2011-08-09 7:52 ` Hans de Goede
2011-08-09 14:19 ` Alan Stern
2011-08-09 15:03 ` Marko Ristola
2011-08-09 19:57 ` Hans de Goede
2011-08-09 20:31 ` Adam Baker
2011-08-09 20:57 ` Hans de Goede
2011-08-10 2:05 ` Xiaofan Chen
2011-08-10 23:04 ` Adam Baker
2011-08-11 8:14 ` Hans de Goede
2011-08-09 23:05 ` Theodore Kilgore
2011-08-10 14:19 ` Alan Stern
2011-08-10 15:03 ` Theodore Kilgore
2011-08-10 16:09 ` Alan Stern
2011-08-10 18:33 ` Theodore Kilgore
2011-08-10 19:39 ` Hans Verkuil
2011-08-10 19:43 ` Greg KH
2011-08-10 20:34 ` Theodore Kilgore
2011-08-10 20:14 ` Mauro Carvalho Chehab
2011-08-10 20:39 ` Theodore Kilgore
2011-08-11 8:14 ` Hans de Goede
2011-08-11 14:56 ` Alan Stern
2011-08-11 15:13 ` Mauro Carvalho Chehab
2011-08-11 15:25 ` Alan Cox
2011-08-11 15:49 ` Alan Stern
2011-08-11 20:01 ` Theodore Kilgore
2011-08-11 20:32 ` Mauro Carvalho Chehab
2011-08-11 23:13 ` Theodore Kilgore
2011-08-12 7:16 ` Hans de Goede
2011-08-12 10:11 ` Alan Cox
2011-08-12 1:07 ` Alan Stern
2011-08-12 2:38 ` Theodore Kilgore
2011-08-11 15:44 ` Alan Stern
2011-08-12 7:26 ` Hans de Goede
2011-08-12 15:36 ` Alan Stern
2011-08-09 17:10 ` Sarah Sharp
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=4DF20BC8.1060703@redhat.com \
--to=hdegoede@redhat.com \
--cc=Jes.Sorensen@redhat.com \
--cc=agraf@suse.de \
--cc=aliguori@us.ibm.com \
--cc=balbi@ti.com \
--cc=clemens@ladisch.de \
--cc=greg@kroah.com \
--cc=hector@marcansoft.com \
--cc=jan.kiszka@siemens.com \
--cc=kraxel@redhat.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=libusb-devel@lists.sourceforge.net \
--cc=linux-media@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mchehab@infradead.org \
--cc=oliver@neukum.org \
--cc=pbonzini@redhat.com \
--cc=perex@perex.cz \
--cc=sarah.a.sharp@linux.intel.com \
--cc=stefanha@linux.vnet.ibm.com \
--cc=stern@rowland.harvard.edu \
--cc=tiwai@suse.de \
/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