svn commit: r368074 - head/sys/ufs/ffs

Konstantin Belousov kib at FreeBSD.org
Thu Nov 26 18:03:25 UTC 2020


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)))


More information about the svn-src-all mailing list