kern/167685: [zfs] ZFS on USB drive prevents shutdown / reboot
Jeff Kletsky
freebsd at wagsky.com
Fri May 11 21:50:17 UTC 2012
The following reply was made to PR kern/167685; it has been noted by GNATS.
From: Jeff Kletsky <freebsd at wagsky.com>
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: kern/167685: [zfs] ZFS on USB drive prevents shutdown / reboot
Date: Fri, 11 May 2012 14:41:03 -0700
This is a multi-part message in MIME format.
--------------020209050805030409070009
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Problem can be replicated by booting of a "memstick" (with a "spare" USB
stick as /dev/da1) and then executing
# dd if=/dev/zer of=/dev/da1 bs=64k
# zpool create stick /dev/da1
# reboot
Problem has been reliably reproduced on the Atom 330 previously
mentioned, as well as on an AMD A8-3870 with A75 chipset. It also can be
replicated using VirtualBox running under Ubuntu on the AMD A8-3870
system. It does not seem specific to one "flavor" of USB controller or
driver.
Using /usr/src/release/generate_release.sh and bisection, I have
confirmed that
* r227445 does not exhibit the behavior ("Copy stable/9 to releng/9.0 as
part of the FreeBSD 9.0-RELEASE release cycle)
* r229097 does not exhibit the behavior
* r229281 -- FAIL by not rebooting under the conditions described above.
Based on these results, I am suspicious of
r229100 | hselasky | 2011-12-31 06:33:15 -0800 (Sat, 31 Dec 2011) | 6 lines
MFC r228709, r228711 and r228723:
- Add missing unlock of USB controller's lock, when
doing shutdown, suspend and resume.
- Add code to wait for USB shutdown to be executed at system shutdown.
- Add sysctl which can be used to skip this waiting.
as being what brought the issue to the forefront.
I am presently building r229099 and r229100 to confirm this suspicion.
A potential, though untested workaround would be
# sysctl hw.usb.no_shutdown_wait=1
--------------020209050805030409070009
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Problem can be replicated by booting of a "memstick" (with a "spare"
USB stick as /dev/da1) and then executing<br>
<br>
# dd if=/dev/zer of=/dev/da1 bs=64k<br>
# zpool create stick /dev/da1<br>
# reboot<br>
<br>
Problem has been reliably reproduced on the Atom 330 previously
mentioned, as well as on an AMD A8-3870 with A75 chipset. It also
can be replicated using VirtualBox running under Ubuntu on the AMD
A8-3870 system. It does not seem specific to one "flavor" of USB
controller or driver.<br>
<br>
Using /usr/src/release/generate_release.sh and bisection, I have
confirmed that<br>
<br>
* r227445 does not exhibit the behavior ("Copy stable/9 to releng/9.0
as part of the FreeBSD 9.0-RELEASE release cycle)<br>
* r229097 does not exhibit the behavior<br>
* r229281 -- FAIL by not rebooting under the conditions described
above.<br>
<br>
Based on these results, I am suspicious of <br>
<br>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<pre class="alt2" dir="ltr" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(249, 249, 249); color: rgb(0, 0, 0); font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; margin-top: 0px; margin-right : 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 6px; padding-right: 6px; padding-bottom: 6px; padding-left: 6px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: inset; border-right-style: inset; border-bottom-style: inset; border-left-style: inset; border-color: initial; border-image: initial; width: auto; height: 130px; text-align: left; overflow-x: auto; overflow-y: auto; background-position: initial i
ni
t
ial; background-repeat: initial initial; ">r229100 | hselasky | 2011-12-31 06:33:15 -0800 (Sat, 31 Dec 2011) | 6 lines
MFC r228709, r228711 and r228723:
- Add missing unlock of USB controller's lock, when
doing shutdown, suspend and resume.
- Add code to wait for USB shutdown to be executed at system shutdown.
- Add sysctl which can be used to skip this waiting.</pre>
<br>
as being what brought the issue to the forefront.<br>
<br>
I am presently building r229099 and r229100 to confirm this
suspicion.<br>
<br>
A potential, though untested workaround would be<br>
# sysctl hw.usb.no_shutdown_wait=1<br>
<br>
<br>
</body>
</html>
--------------020209050805030409070009--
More information about the freebsd-fs
mailing list