From: Sarah Sharp <sarah.a.sharp-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: Alan Stern <stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org>
Cc: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
James Bottomley
<James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>,
Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
USB list <linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
SCSI development list
<linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
USB Storage List
<usb-storage-ijkIwGHArpdIPJnuZ7Njw4oP9KaGy4wf@public.gmane.org>
Subject: Re: [usb-storage] UAS hangs khubd on USB disconnect
Date: Fri, 13 Dec 2013 10:09:07 -0800 [thread overview]
Message-ID: <20131213180907.GB10727@xanatos> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1312121632470.849-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
On Thu, Dec 12, 2013 at 05:04:31PM -0500, Alan Stern wrote:
> On Wed, 11 Dec 2013, Sarah Sharp wrote:
>
> > Hi Hans,
> >
> > I've been testing the UAS code you sent a pull request for against
> > 3.13-rc1, and I've run into a rather nasty issue with USB disconnect.
> >
> > I ran some tests with a USB 3.0 storage device under xHCI. The disk has
> > three 10GB partitions: ext3 (sdb1), ext4 (sdb2), and fat32 (sdb4).
> > There was a btrfs partition on sdb3, but I deleted it.
> >
> > If I start to play a movie on the ext4 partition, and then yank the USB
> > cable, the uas driver is unbound from the device. It looks like
> > something goes wrong in the SCSI layer shortly after that, causing an
> > oops in sysfs_remove_group().
>
> I did a little testing. It turns out this WARN (not an oops) is the
> result of recent changes to sysfs, combined with the peculiar way the
> SCSI layer handles targets.
>
> In the new kernel, when you call device_del for some object, the
> object's directory and everything beneath it get removed from sysfs.
> This wasn't true in the past.
>
> When a USB drive is unplugged, almost everything below it gets
> unregistered. But not the SCSI target -- it remains registered until
> the number of "reap references" drops to 0. This doesn't happen until
> all the devices beneath it are released, which happens when all the
> open file references are closed and the filesystem is unmounted.
>
> So scsi_target_reap_usercontext ends up calling device_del for the
> target after everything else has been removed from sysfs. As part of
> normal device_del processing, attribute groups get removed. In
> particular the power/ subdirectory is removed from the target's sysfs
> directory. But the sysfs directories are long gone by this time, so
> sysfs_remove_group complains that it was asked to remove a non-existent
> subdirectory.
>
> Given the way things work now, I suspect these warnings are truly
> harmless. We could simply get rid of the WARN in sysfs_remove_group.
>
> The alternative is to call device_del for SCSI targets earlier on, such
> as when their hosts are unregistered. I don't know how James would
> feel about this approach. It would be difficult because targets use
> their own reference counts instead of relying on the usual device
> refcounting mechanism.
Thanks for looking into this. I think just getting rid of the WARN
would be sufficient. Can you make a patch for that?
The patch still won't help with the UAS issues with
scsi_init_shared_tag_map though.
Sarah Sharp
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-12-13 18:09 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20131212000715.GA3181@xanatos>
2013-12-12 13:13 ` UAS hangs khubd on USB disconnect Hans de Goede
2013-12-12 22:04 ` [usb-storage] " Alan Stern
[not found] ` <Pine.LNX.4.44L0.1312121632470.849-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2013-12-13 18:09 ` Sarah Sharp [this message]
2013-12-13 18:19 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1312131316470.1185-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2013-12-13 18:33 ` Tejun Heo
2013-12-13 19:18 ` James Bottomley
[not found] ` <1386962327.2055.54.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>
2013-12-13 20:03 ` James Bottomley
[not found] ` <1386964999.2055.59.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>
2013-12-13 20:22 ` Hans de Goede
2013-12-13 21:06 ` Alan Stern
2013-12-13 21:18 ` James Bottomley
[not found] ` <1386969529.2055.79.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>
2013-12-14 0:48 ` Alan Stern
2013-12-14 1:27 ` James Bottomley
2013-12-14 3:00 ` Alan Stern
2013-12-14 3:03 ` [RFC] fix our current target reap infrastructure James Bottomley
2013-12-14 3:32 ` Alan Stern
2013-12-14 23:55 ` James Bottomley
2013-12-15 21:32 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1312151550380.32133-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>
2013-12-15 22:14 ` James Bottomley
[not found] ` <1387145674.2284.60.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>
2013-12-16 2:44 ` Alan Stern
2013-12-16 3:32 ` James Bottomley
2013-12-16 2:49 ` Alan Stern
2013-12-16 3:33 ` James Bottomley
2013-12-13 21:13 ` [usb-storage] UAS hangs khubd on USB disconnect Sarah Sharp
2013-12-13 21:24 ` Hans de Goede
2013-12-13 20:05 ` Alan Stern
2013-12-13 19:07 ` 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=20131213180907.GB10727@xanatos \
--to=sarah.a.sharp-vuqaysv1563yd54fqh9/ca@public.gmane.org \
--cc=James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org \
--cc=hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=usb-storage-ijkIwGHArpdIPJnuZ7Njw4oP9KaGy4wf@public.gmane.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