Date: Mon, 30 May 2011 13:41:03 +0200 From: Borja Marcos <borjam@sarenet.es> To: luke@hybrid-logic.co.uk Cc: Charles Sprickman <spork@bway.net>, stable@FreeBSD.org, Jeremy Chadwick <freebsd@jdc.parodius.com>, Andriy Gapon <avg@FreeBSD.org> Subject: Re: 8.1R possible zfs snapshot livelock? Message-ID: <867340A1-B7F4-452C-BB7E-93CAF7E4ABA8@sarenet.es> In-Reply-To: <1305876839.13971.5.camel@pow> References: <alpine.OSX.2.00.1105170120510.1983@hotlap.nat.fasttrackmonkey.com> <20110517073029.GA44359@icarus.home.lan> <4DD25264.8040305@FreeBSD.org> <20110517112952.GA48610@icarus.home.lan> <FCE5F082-A3BF-4A21-B2E3-FEF3EA715F2C@sarenet.es> <1305876839.13971.5.camel@pow>
next in thread | previous in thread | raw e-mail | index | archive | help
On May 20, 2011, at 9:33 AM, Luke Marsden wrote: >> 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 -) >>=20 >=20 > 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. Hello, Sorry for the delay to anwer. I think I added some information about = this issue to a related PR but I'm unable to find it right now. I had a discussion about this issue as well, you can read the relevant = threads here: http://osdir.com/ml/freebsd-fs/2010-03/msg00062.html http://kerneltrap.org/mailarchive/freebsd-fs/2009/10/31/6535463/thread In hindsight, however, unless you are working in very clearly defined = conditions, it doesn't make much sense to keep even reading activity on = the target dataset. What happens if you keep a file open for reading while the "zfs recv" = operation is done? What happens if you are traversing a directory, which = means that you keep the directory open, and the destination dataset is = "replaced" by a new one by a recv? For read-only operations I would rely on clones instead.=20 Borja.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?867340A1-B7F4-452C-BB7E-93CAF7E4ABA8>