Date: Sat, 14 Dec 2002 03:16:31 -0500 From: Jake Burkholder <jake@locore.ca> To: Kirk McKusick <mckusick@FreeBSD.org> 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> In-Reply-To: <200212140137.gBE1b0fN035773@repoman.freebsd.org>; from mckusick@FreeBSD.org on Fri, Dec 13, 2002 at 05:37:00PM -0800 References: <200212140137.gBE1b0fN035773@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021214031631.D93389>
