diff options
author | mckusick <mckusick@FreeBSD.org> | 2000-09-07 23:02:55 +0000 |
---|---|---|
committer | mckusick <mckusick@FreeBSD.org> | 2000-09-07 23:02:55 +0000 |
commit | 7438b4ca6f301ab7e44fabaf644023829988e5e9 (patch) | |
tree | 2561b994ff3e646625db722456d3c7d0327d0589 /sys/ufs | |
parent | cf7fa77feb19f92c340c847610e11f229acfc5f5 (diff) | |
download | FreeBSD-src-7438b4ca6f301ab7e44fabaf644023829988e5e9.zip FreeBSD-src-7438b4ca6f301ab7e44fabaf644023829988e5e9.tar.gz |
Cannot do MALLOC with M_WAITOK while holding ACQUIRE_LOCK
Obtained from: Ethan Solomita <ethan@geocast.com>
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index ad30011..1668fa1 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -2837,11 +2837,11 @@ softdep_disk_io_initiation(bp) /* * Replace up-to-date version with safe version. */ + MALLOC(indirdep->ir_saveddata, caddr_t, bp->b_bcount, + M_INDIRDEP, M_WAITOK); ACQUIRE_LOCK(&lk); indirdep->ir_state &= ~ATTACHED; indirdep->ir_state |= UNDONE; - MALLOC(indirdep->ir_saveddata, caddr_t, bp->b_bcount, - M_INDIRDEP, M_WAITOK); bcopy(bp->b_data, indirdep->ir_saveddata, bp->b_bcount); bcopy(indirdep->ir_savebp->b_data, bp->b_data, bp->b_bcount); |