Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Feb 2004 17:16:17 +0800
From:      "rjshang" <rjshang@synology.com>
To:        freebsd-fs@freebsd.org
Subject:   Is that a typo in ffs_softdep.c
Message-ID:  <20040213091617.M29405@synology.com>

next in thread | raw e-mail | index | archive | help
Hi, there,

It looks like a typo in ffs_softdep.c softdep_sync_metadata().
The second parameter of drain_output is used to tell if it is 
protected by &lk.
Is there other concern?
Please check the following patch from 4.9 release.

Thanks!
R.J. Shang 
*************************************************************************

--- ffs_softdep.c	Wed Feb  6 02:46:53 2002
+++ ffs_softdep.new.c	Fri Feb 13 16:48:52 2004
@@ -4299,29 +4299,29 @@
 		return (0);
 	}
 
 	FREE_LOCK(&lk);
 	/*
 	 * If we are trying to sync a block device, some of its buffers may
 	 * contain metadata that cannot be written until the contents of 
some
 	 * partially written files have been written to disk. The only easy
 	 * way to accomplish this is to sync the entire filesystem (luckily
 	 * this happens rarely).
 	 *
 	 * We must wait for any I/O in progress to finish so that
 	 * all potential buffers on the dirty list will be visible.
 	 */
-	drain_output(vp, 1);
+	drain_output(vp, 0);
 	if (vn_isdisk(vp, NULL) && 
 	    vp->v_specmountpoint && !VOP_ISLOCKED(vp, NULL) &&
 	    (error = VFS_SYNC(vp->v_specmountpoint, MNT_WAIT, ap->a_cred,
 	     ap->a_p)) != 0)
 		return (error);
 	return (0);
 }
 
 /*
  * Flush the dependencies associated with an inodedep.
  * Called with splbio blocked.
  */
 static int
 flush_inodedep_deps(fs, ino)





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040213091617.M29405>