ZFS freeze/livelock
Borja Marcos
borjam at sarenet.es
Wed Oct 13 11:40:20 UTC 2010
On Oct 10, 2010, at 5:34 PM, Willem Jan Withagen wrote:
> Hi,
>
> Just had my FreeBSD freeze on me with what I would think is sort of an livelock....
>
> While I was receiving zfs snapshots on my data pool.
>
> Top and systat just kept running,
> but anything getting near a shell (and perhaps disk-io) ended up in:
>
> root at zfs.digiware.nl# gpart create -s gpt da6
> load: 0.00 cmd: csh 12393 [zfsvfs->z_teardown_inactive_lock] 26.12r 0.00u 0.00s 0% 2480k
> load: 0.10 cmd: csh 12393 [zfsvfs->z_teardown_inactive_lock] 96.01r 0.00u 0.00s 0% 2480k
>
> Trying to execute to execute shutdown -r now had no effect what so ever.
> Neither did the three-finger salute.
> (Well at least not in 60 sec I was willing to wait.)
>
> Only way out of this situation was hard-reset. And I do have to admit I like ZFS for the speed it recovers after unexpected reboot.
>
> To bad there was no alt-ctrl-backspace escape to debugger compiled in. I'll do that with the next kernel, just in case.
There is an (as far as I know) unsolved deadlock situation when receiving a snapshot while you read the target dataset.
I found it in a redundant server configuration. I replicate some datasets periodically doing an incremental send-receive. It works perfectly but it can deadlock if I have a process reading the destination dataset on the secondary server. And those things can happen if you have, for example, one of the nightly periodic tasks running.
Were you doing a siimilar thing? Or are you sure there was no reading activity on the destination dataset?
Borja.
More information about the freebsd-fs
mailing list