From owner-freebsd-fs@FreeBSD.ORG Thu Jan 12 21:30:04 2006 Return-Path: X-Original-To: freebsd-fs@freebsd.org Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0296A16A41F for ; Thu, 12 Jan 2006 21:30:04 +0000 (GMT) (envelope-from user@dhp.com) Received: from shell.dhp.com (shell.dhp.com [199.245.105.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8307D43D69 for ; Thu, 12 Jan 2006 21:30:03 +0000 (GMT) (envelope-from user@dhp.com) Received: by shell.dhp.com (Postfix, from userid 896) id 44F4B312FA; Thu, 12 Jan 2006 16:30:02 -0500 (EST) Date: Thu, 12 Jan 2006 16:30:02 -0500 (EST) From: user To: freebsd-fs@freebsd.org Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: preventing deadlocks in snapshot directories - unexplained X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jan 2006 21:30:04 -0000 I have asked this before, but nobody answered ... If you have multiple snapshots, how do you segregate them in order to avoid the deadlocks that the ".snap" directory is supposed to fix ? I understand why a snapshot is created in (mount)/.snap - but what if I have multiple snapshots running simultaneously ? My instinct was that they just needed to be in different, non-recursive directories - like this: /.snap/snap1/snapshot_file /.snap/snap2/snapshot_file /.snap/snap3/snapshot_file However, I just noticed that when I: cd /.snap rm -rf snap3 the _entire_ /.snap directory locks up until that command completes. If I go in with another shell and: cd /.snap ls -asl that command hangs until the deletion of /.snap/snap3 completes. So, this leads me to conclude that actually, I need to do this: /.snap/snapshot_file /.snap2/snapshot_file /.snap3/snapshot_file Am I correct ? Why did my first strategy fail ? Why did /.snap lock up even when the snapshot files were a full directory level deeper ? Is there _anything else_ I should know about running multiple snapshots ? Thanks.