Author: mckusick
Date: Fri Nov 20 20:22:01 2020
New Revision: 367911
URL: https://svnweb.freebsd.org/changeset/base/367911

Log:
  Only attempt a VOP_UNLOCK() when the vn_lock() has been successful.
  
  No MFC as this code is not present in 12-stable.
  
  Reported by:  Peter Holm
  Reviewed by:  Mateusz Guzik
  Tested by:    Peter Holm
  Sponsored by: Netflix

Modified:
  head/sys/kern/vfs_vnops.c

Modified: head/sys/kern/vfs_vnops.c
==============================================================================
--- head/sys/kern/vfs_vnops.c   Fri Nov 20 20:11:59 2020        (r367910)
+++ head/sys/kern/vfs_vnops.c   Fri Nov 20 20:22:01 2020        (r367911)
@@ -3007,8 +3007,8 @@ vn_write_outvp(struct vnode *outvp, char *dat, off_t o
                                    curthread->td_ucred, cred, NULL, curthread);
                                outoff += xfer2;
                                xfer -= xfer2;
+                               VOP_UNLOCK(outvp);
                        }
-                       VOP_UNLOCK(outvp);
                }
                if (mp != NULL)
                        vn_finished_write(mp);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to