From owner-cvs-src@FreeBSD.ORG Wed Mar 8 18:19:05 2006 Return-Path: X-Original-To: cvs-src@freebsd.org Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5940B16A420; Wed, 8 Mar 2006 18:19:05 +0000 (GMT) (envelope-from anderson@centtech.com) Received: from mh2.centtech.com (moat3.centtech.com [207.200.51.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B16743D60; Wed, 8 Mar 2006 18:19:03 +0000 (GMT) (envelope-from anderson@centtech.com) Received: from [10.177.171.220] (neutrino.centtech.com [10.177.171.220]) by mh2.centtech.com (8.13.1/8.13.1) with ESMTP id k28D0v5l007619; Wed, 8 Mar 2006 07:00:57 -0600 (CST) (envelope-from anderson@centtech.com) Message-ID: <440ED585.4090706@centtech.com> Date: Wed, 08 Mar 2006 07:00:53 -0600 From: Eric Anderson User-Agent: Thunderbird 1.5 (X11/20060112) MIME-Version: 1.0 To: Ruslan Ermilov References: <200603080214.k282EdBH054091@repoman.freebsd.org> <20060308070632.GA52377@ip.net.ua> <20060308081625.GA55281@xor.obsecurity.org> <20060308104000.GC52377@ip.net.ua> In-Reply-To: <20060308104000.GC52377@ip.net.ua> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.87.1/1318/Tue Mar 7 14:55:18 2006 on mh2.centtech.com X-Virus-Status: Clean Cc: cvs-src@freebsd.org, src-committers@freebsd.org, Tor Egge , cvs-all@freebsd.org, Kris Kennaway Subject: Re: cvs commit: src/sys/ufs/ufs ufs_lookup.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Mar 2006 18:19:05 -0000 Ruslan Ermilov wrote: > On Wed, Mar 08, 2006 at 03:16:25AM -0500, Kris Kennaway wrote: > >> On Wed, Mar 08, 2006 at 09:06:32AM +0200, Ruslan Ermilov wrote: >> >>> On Wed, Mar 08, 2006 at 02:14:39AM +0000, Tor Egge wrote: >>> >>>> tegge 2006-03-08 02:14:39 UTC >>>> >>>> FreeBSD src repository >>>> >>>> Modified files: >>>> sys/ufs/ufs ufs_lookup.c >>>> Log: >>>> Don't set IN_CHANGE and IN_UPDATE on inodes for potentially suspended >>>> file systems. This could cause deadlocks when creating snapshots. >>>> >>>> Reviewed by: jeff >>>> >>>> Revision Changes Path >>>> 1.80 +0 -1 src/sys/ufs/ufs/ufs_lookup.c >>>> >>>> >>> Like for example "ls -l /filesystem/.snap" when "fsck -B" is in place? >>> >> Is that a deadlock, or just the process being suspended until fsck >> finishes? >> I think the only options we have to fix this is to either make the .snap directory 'hidden' (which is not a feature yet), or to possibly cache the inode information on parent directories containing snapshots, so when a fs is suspended or a snapshot is in progress, a stat of the parent directory of the snapshots' doesn't block until the snapshot finishes. There has been brief discussion on freebsd-fs@ about adding a 'hidden' flag (usable with chflags) to files and directories, and tools like ls, etc, that would normally stat each file/dir in a directory would ignore, unless a special option was used. That would not stop other tools doing stat calls from seeing it though, but I think most of the blocking happens when a user does an ls -al in the directory. Eric -- ------------------------------------------------------------------------ Eric Anderson Sr. Systems Administrator Centaur Technology Anything that works is better than anything that doesn't. ------------------------------------------------------------------------