ffs: do not call softdep_prealloc() from UFS_BALLOC()

(cherry picked from commit 4983146279)
This commit is contained in:
Konstantin Belousov 2021-02-18 16:51:50 +02:00
parent fd61ccfeb4
commit 94412c2d00
2 changed files with 5 additions and 5 deletions

View file

@ -128,8 +128,6 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffset, int size,
return (EFBIG);
gbflags = (flags & BA_UNMAPPED) != 0 ? GB_UNMAPPED : 0;
if (DOINGSOFTDEP(vp))
softdep_prealloc(vp, MNT_WAIT);
/*
* If the next write will extend the file into a new block,
* and the file is currently composed of a fragment
@ -621,9 +619,6 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size,
return (EFBIG);
gbflags = (flags & BA_UNMAPPED) != 0 ? GB_UNMAPPED : 0;
if (DOINGSOFTDEP(vp))
softdep_prealloc(vp, MNT_WAIT);
/*
* Check for allocating external data.
*/

View file

@ -834,6 +834,11 @@ ffs_write(ap)
int blkoffset, error, flags, ioflag, size, xfersize;
vp = ap->a_vp;
if (DOINGSUJ(vp))
softdep_prealloc(vp, MNT_WAIT);
if (vp->v_data == NULL)
return (EBADF);
uio = ap->a_uio;
ioflag = ap->a_ioflag;
if (ap->a_ioflag & IO_EXT)