Module Name: src Committed By: jdolecek Date: Fri Mar 10 22:43:03 UTC 2017
Modified Files: src/sys/ufs/ffs: ffs_wapbl.c Log Message: sync any delayed writes when updating filesystem to log Adresses PR kern/52056 by Martin Husemann, fix helped by Juergen Hannken, thanks To generate a diff of this commit: cvs rdiff -u -r1.37 -r1.38 src/sys/ufs/ffs/ffs_wapbl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/ufs/ffs/ffs_wapbl.c diff -u src/sys/ufs/ffs/ffs_wapbl.c:1.37 src/sys/ufs/ffs/ffs_wapbl.c:1.38 --- src/sys/ufs/ffs/ffs_wapbl.c:1.37 Thu Nov 10 22:19:23 2016 +++ src/sys/ufs/ffs/ffs_wapbl.c Fri Mar 10 22:43:03 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: ffs_wapbl.c,v 1.37 2016/11/10 22:19:23 jdolecek Exp $ */ +/* $NetBSD: ffs_wapbl.c,v 1.38 2017/03/10 22:43:03 jdolecek Exp $ */ /*- * Copyright (c) 2003,2006,2008 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ffs_wapbl.c,v 1.37 2016/11/10 22:19:23 jdolecek Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ffs_wapbl.c,v 1.38 2017/03/10 22:43:03 jdolecek Exp $"); #define WAPBL_INTERNAL @@ -338,6 +338,13 @@ ffs_wapbl_start(struct mount *mp) return EINVAL; } + /* + * Make sure we don't carry over any delayed write + * buffers when updating to log. + */ + if (mp->mnt_flag & MNT_UPDATE) + ffs_sync(mp, MNT_WAIT, FSCRED); + error = wapbl_log_position(mp, fs, devvp, &off, &count, &blksize, &extradata); if (error)