From owner-cvs-all Fri Dec 13 23:58:15 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A1BD937B401; Fri, 13 Dec 2002 23:58:13 -0800 (PST) Received: from k6.locore.ca (k6.locore.ca [198.96.117.170]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F8A943EDA; Fri, 13 Dec 2002 23:58:13 -0800 (PST) (envelope-from jake@k6.locore.ca) Received: from k6.locore.ca (jake@localhost.locore.ca [127.0.0.1]) by k6.locore.ca (8.12.6/8.12.6) with ESMTP id gBE8GWxQ003229; Sat, 14 Dec 2002 03:16:32 -0500 (EST) (envelope-from jake@k6.locore.ca) Received: (from jake@localhost) by k6.locore.ca (8.12.6/8.12.6/Submit) id gBE8GV9p003228; Sat, 14 Dec 2002 03:16:31 -0500 (EST) Date: Sat, 14 Dec 2002 03:16:31 -0500 From: Jake Burkholder To: Kirk McKusick Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/ufs/ufs inode.h src/sys/sys conf.h src/sys/ufs/ffs ffs_snapshot.c Message-ID: <20021214031631.D93389@locore.ca> References: <200212140137.gBE1b0fN035773@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200212140137.gBE1b0fN035773@repoman.freebsd.org>; from mckusick@FreeBSD.org on Fri, Dec 13, 2002 at 05:37:00PM -0800 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Apparently, On Fri, Dec 13, 2002 at 05:37:00PM -0800, Kirk McKusick said words to the effect of; > mckusick 2002/12/13 17:37:00 PST > > Modified files: > sys/ufs/ufs inode.h > sys/sys conf.h > sys/ufs/ffs ffs_snapshot.c > Log: > Only the most recent snapshot contains the complete list of blocks > that were copied in all of the earlier snapshots, thus its precomputed > list must be used in the copyonwrite test. Using incomplete lists may > lead to deadlock. Also do not include the blocks used for the indirect > pointers in the indirect pointers as this may lead to inconsistent > snapshots. > > Sponsored by: DARPA & NAI Labs. > Approved by: re This tries to stuff a pointer into a 32 bit integer. + ((daddr_t *)(ip->i_offset)) = &snapblklist[1]; doff_t i_offset; /* Offset of free space in directory. */ #define doff_t int32_t Please find a field that is wide enough to hold a pointer on all platforms. Jake > > Revision Changes Path > 1.151 +8 -2 src/sys/sys/conf.h > 1.54 +188 -138 src/sys/ufs/ffs/ffs_snapshot.c > 1.42 +0 -2 src/sys/ufs/ufs/inode.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message