Date: Sat, 19 May 2001 12:24:27 -0700 (PDT) From: Kirk McKusick <mckusick@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ufs/ffs ffs_softdep.c Message-ID: <200105191924.f4JJORS30616@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
mckusick 2001/05/19 12:24:27 PDT
Modified files:
sys/ufs/ffs ffs_softdep.c
Log:
Must ensure that all the entries on the pd_pendinghd list have been
committed to disk before clearing them. More specifically, when
free_newdirblk is called, we know that the inode claims the new
directory block. However, if the associated pagedep is still linked
onto the directory buffer dependency chain, then some of the entries
on the pd_pendinghd list may not be committed to disk yet. In this
case, we will simply note that the inode claims the block and let
the pd_pendinghd list be processed when the pagedep is next written.
If the pagedep is no longer on the buffer dependency chain, then
all the entries on the pd_pending list are committed to disk and
we can free them in free_newdirblk. This corrects a window of
vulnerability introduced in the code added in version 1.95.
Revision Changes Path
1.97 +12 -4 src/sys/ufs/ffs/ffs_softdep.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?200105191924.f4JJORS30616>
