[SOLVED] Re: Shutdown problem with an USB memory stick as ZFS cache device

Maurizio Vairani maurizio.vairani at cloverinformatica.it
Thu Jul 18 07:53:36 UTC 2013


On 17/07/2013 17:29, Julian H. Stacey wrote:
> Maurizio Vairani wrote:
>> On 17/07/2013 11:50, Ronald Klop wrote:
>>> On Wed, 17 Jul 2013 10:27:09 +0200, Maurizio Vairani
>>> <maurizio.vairani at cloverinformatica.it>  wrote:
>>>
>>>> Hi all,
>>>>
>>>>
>>>> on a Compaq Presario laptop I have just installed the latest stable
>>>>
>>>>
>>>> #uname -a
>>>>
>>>> FreeBSD presario 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #0: Tue Jul 16
>>>> 16:32:39 CEST 2013     root at presario:/usr/obj/usr/src/sys/GENERIC  amd64
>>>>
>>>>
>>>> For speed up the compilation I have added to the pool, tank0,  a
>>>> SanDisk memory stick as cache device with the command:
>>>>
>>>>
>>>> # zpool add tank0 cache /dev/da0
>>>>
>>>>
>>>> But when I shutdown the laptop the process will halt with this screen
>>>> shot:
>>>>
>>>>
>>>> http://www.dump-it.fr/freebsd-screen-shot/2f9169f18c7c77e52e873580f9c2d4bf.jpg.html
>>>>
>>>>
>>>>
>>>> and I need to press the power button for more than 4 seconds to
>>>> switch off the laptop.
>>>>
>>>> The problem is always reproducible.
>>> Does sysctl hw.usb.no_shutdown_wait=1 help?
>>>
>>> Ronald.
>> Thank you Ronald it works !
>>
>> In /boot/loader.conf added the line
>> hw.usb.no_shutdown_wait=1
>>
>> Maurizio
> I wonder (from ignorance as I dont use ZFS yet),
> if that merely masks the symptom or cures the fault ?
>
> Presumably one should use a ZFS command to disassociate whatever
> might have the cache open ?  (in case something might need to be
> written out from cache, if it was a writeable cache ?)
>
> I too had a USB shutdown problem (non ZFS, now solved)&  several people
> made useful comments on shutdown scripts etc, so I'm cross referencing:
>
> http://lists.freebsd.org/pipermail/freebsd-mobile/2013-July/012803.html
>
> Cheers,
> Julian
Probably it masks the symptom. Andriy Gapon hypothesizes a bug in the 
ZFS clean up code:
http://lists.freebsd.org/pipermail/freebsd-fs/2013-July/017857.html

Surely one can use a startup script with the command:
zpool add tank0 cache /dev/da0
and a shutdown script with:
zpool remove tank0 /dev/da0
but this mask the symptom too.

I prefer the Ronald solution because:
- is simpler: it adds only one line (hw.usb.no_shutdown_wait=1) to one 
file (/boot/loader.conf).
- is fastest: the zpool add/remove commands take time and 
“hw.usb.no_shutdown_wait=1” in /boot/loader.conf speeds up the shutdown 
process.
- is cleaner: the zpool add/remove commands pair will fill up the tank0 
pool history.

Regards
Maurizio


More information about the freebsd-stable mailing list