Is that a typo in ffs_softdep.c
rjshang
rjshang at synology.com
Fri Feb 13 01:16:35 PST 2004
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)
More information about the freebsd-fs
mailing list