On Wed, 2011-05-18 at 14:05 +0200, Borja Marcos wrote: > On May 17, 2011, at 1:29 PM, Jeremy Chadwick wrote: > > > * ZFS send | ssh zfs recv results in ZFS subsystem hanging; > 8.1-RELEASE; > > February 2011: > > > http://lists.freebsd.org/pipermail/freebsd-fs/2011-February/010602.html > > I found a reproducible deadlock condition actually. If you keep some > I/O activity on a dataset on which you are receiving a ZFS incremental > snapshot at the same time, it can deadlock. > > Imagine this situation: Two servers, A and B. A dataset on server A is > replicated at regular intervals to B, so that you keep a reasonably up > to date copy. > > Something like: > > (Runnning on server A): > > zfs snapshot thepool/thedataset@thistime > zfs send -Ri thepooll/thedataser@previoustime > hepool/thedataset@thistime | ssh serverB zfs receive -d thepool > > It works, but I suffered a deadlock when one of the periodic "daily" > scripts was running. Doing some tests, I saw that ZFS can deadlock if > you do a zfs receive onto a dataset which has some read activity. > Disabling atime didn't help either. > > But if you make sure *not* to access the replicated dataset it works, > I havenĀ“t seen it failing otherwise. > > If you wish to reproduce it, try creating a dataset for /usr/obj, > running make buildworld on it, replicating at, say, 30 or 60 second > intervals, and keep several scripts (or rsync) reading the target > dataset files and just copying them to another place in the usual, > "classic" way. (example: tar cf - . | ( cd /destination && tar xf -) >
Is there a PR for this? I'd like to see it addressed, since read-only I/O on a dataset which is being updated by `zfs recv` is an important part of what we plan to do with ZFS on FreeBSD. -- Best Regards, Luke Marsden CTO, Hybrid Logic Ltd. Web: http://www.hybrid-cluster.com/ Hybrid Web Cluster - cloud web hosting Phone: +447791750420 _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"