The branch releng/13.0 has been updated by kib:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=9bef28f2944696906c7fa68223faaf12b17695dd

commit 9bef28f2944696906c7fa68223faaf12b17695dd
Author:     Konstantin Belousov <k...@freebsd.org>
AuthorDate: 2021-02-18 14:51:50 +0000
Commit:     Konstantin Belousov <k...@freebsd.org>
CommitDate: 2021-02-25 20:50:42 +0000

    ffs: do not call softdep_prealloc() from UFS_BALLOC()
    
    Approved by:    re (delphij, gjb)
    
    (cherry picked from commit 49831462794690155ce8dbe02679e6d9390f3d7d)
---
 sys/ufs/ffs/ffs_balloc.c | 5 -----
 sys/ufs/ffs/ffs_vnops.c  | 5 +++++
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/sys/ufs/ffs/ffs_balloc.c b/sys/ufs/ffs/ffs_balloc.c
index daa897dfe032..1b53a90a48c4 100644
--- a/sys/ufs/ffs/ffs_balloc.c
+++ b/sys/ufs/ffs/ffs_balloc.c
@@ -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.
         */
diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c
index 1dfdf5182a42..c00469c4c7e3 100644
--- a/sys/ufs/ffs/ffs_vnops.c
+++ b/sys/ufs/ffs/ffs_vnops.c
@@ -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)
_______________________________________________
dev-commits-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "dev-commits-src-all-unsubscr...@freebsd.org"

Reply via email to