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-all" 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>