Author: kib
Date: Thu Nov 26 18:03:24 2020
New Revision: 368074
URL: https://svnweb.freebsd.org/changeset/base/368074

Log:
  clear_inodedeps: handle ERELOOKUP from ffs_syncvnode().
  
  Reported and tested by:       pho
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/ufs/ffs/ffs_softdep.c

Modified: head/sys/ufs/ffs/ffs_softdep.c
==============================================================================
--- head/sys/ufs/ffs/ffs_softdep.c      Thu Nov 26 18:00:26 2020        
(r368073)
+++ head/sys/ufs/ffs/ffs_softdep.c      Thu Nov 26 18:03:24 2020        
(r368074)
@@ -14321,7 +14321,10 @@ clear_inodedeps(mp)
                if (VTOI(vp)->i_mode == 0) {
                        vgone(vp);
                } else if (ino == lastino) {
-                       if ((error = ffs_syncvnode(vp, MNT_WAIT, 0)))
+                       do {
+                               error = ffs_syncvnode(vp, MNT_WAIT, 0);
+                       } while (error == ERELOOKUP);
+                       if (error != 0)
                                softdep_error("clear_inodedeps: fsync1", error);
                } else {
                        if ((error = ffs_syncvnode(vp, MNT_NOWAIT, 0)))
_______________________________________________
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