Date: Fri, 21 Feb 2003 16:29:51 -0800 (PST) From: Kirk McKusick <mckusick@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ufs/ffs ffs_alloc.c ffs_extern.h ffs_snapshot.c Message-ID: <200302220029.h1M0Tpvi045454@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
mckusick 2003/02/21 16:29:51 PST
Modified files:
sys/ufs/ffs ffs_alloc.c ffs_extern.h ffs_snapshot.c
Log:
This patch fixes a bug on an active filesystem on which a snapshot
is being taken from panicing with either "freeing free block" or
"freeing free inode". The problem arises when the snapshot code
is scanning the filesystem looking for inodes with a reference
count of zero (e.g., unlinked but still open) so that it can
expunge them from its view. If it encounters a reclaimed vnode
and has to restart its scan, then it will panic if it encounters
and tries to free an inode that it has already processed. The fix
is to check each candidate inode to see if it has already been
processed before trying to delete it from the snapshot image.
Sponsored by: DARPA & NAI Labs.
Revision Changes Path
1.110 +41 -0 src/sys/ufs/ffs/ffs_alloc.c
1.55 +2 -1 src/sys/ufs/ffs/ffs_extern.h
1.61 +4 -0 src/sys/ufs/ffs/ffs_snapshot.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-src" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200302220029.h1M0Tpvi045454>
