diff options
author | mckusick <mckusick@FreeBSD.org> | 2000-06-18 22:14:28 +0000 |
---|---|---|
committer | mckusick <mckusick@FreeBSD.org> | 2000-06-18 22:14:28 +0000 |
commit | 2be2bf630e2ac589096459b976c068ab57cb075c (patch) | |
tree | 0129299de72ad5d7efaa98cd5c5c351d147b22ef /sys/ufs | |
parent | cad96185660b12cbc2d07e6fdb03d14d1018aece (diff) | |
download | FreeBSD-src-2be2bf630e2ac589096459b976c068ab57cb075c.zip FreeBSD-src-2be2bf630e2ac589096459b976c068ab57cb075c.tar.gz |
When running with quotas enabled on a filesystem using soft updates,
the system would panic when a user's inode quota was exceeded (see
PR 18959 for details). This fixes that problem.
PR: 18959
Submitted by: Jason Godsey <jason@unixguy.fidalgo.net>
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 6773d17..90f01f5 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -52,7 +52,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * from: @(#)ffs_softdep.c 9.57 (McKusick) 3/17/00 + * from: @(#)ffs_softdep.c 9.58 (McKusick) 6/18/00 * $FreeBSD$ */ @@ -1912,7 +1912,8 @@ check_inode_unwritten(inodedep) inodedep->id_state |= ALLCOMPLETE; LIST_REMOVE(inodedep, id_deps); inodedep->id_buf = NULL; - WORKLIST_REMOVE(&inodedep->id_list); + if (inodedep->id_state & ONWORKLIST) + WORKLIST_REMOVE(&inodedep->id_list); if (inodedep->id_savedino != NULL) { FREE(inodedep->id_savedino, M_INODEDEP); inodedep->id_savedino = NULL; |