Date: Wed, 13 Oct 2010 18:16:07 +0200 From: Willem Jan Withagen <wjw@digiware.nl> To: Borja Marcos <borjam@sarenet.es> Cc: fs@freebsd.org Subject: Re: ZFS freeze/livelock Message-ID: <4CB5DB47.9010904@digiware.nl> In-Reply-To: <98AF4752-7881-4C50-8A59-243F1AD55318@sarenet.es> References: <4CB1DD0F.6000209@digiware.nl> <98AF4752-7881-4C50-8A59-243F1AD55318@sarenet.es>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CB5DB47.9010904>