ZFS freeze/livelock

Willem Jan Withagen wjw at digiware.nl
Wed Oct 13 16:16:15 UTC 2010


On 2010-10-13 13:08, Borja Marcos wrote:
>
> 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.

> 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?

Well I think what I did more or less fits your desciption.

But thusfar it did not happen.
And I'm (very slowly) redoing some of these steps, with all debugging 
settings in the kernel.

# Debugging for use in -current
options         KDB                     # Enable kernel debugger support.
options         DDB                     # Support DDB.
options         GDB                     # Support remote GDB.
options         INVARIANTS              # Enable calls of extra sanity 
checking
options         INVARIANT_SUPPORT       # Extra sanity checks of 
internal structures, required by INVARIANTS
options         WITNESS                 # Enable checks to detect 
deadlocks and cycles
options         WITNESS_SKIPSPIN        # Don't run witness on spinlocks 
for speed

Things are real sloooooooooow now.

--WjW


More information about the freebsd-fs mailing list