Module Name: src Committed By: hannken Date: Fri Apr 15 15:54:12 UTC 2011
Modified Files: src/sys/ufs/ffs: ffs_vnops.c Log Message: ffs_fsync: no need for wapbl_vptomp() here -- vnode is always VREG. To generate a diff of this commit: cvs rdiff -u -r1.116 -r1.117 src/sys/ufs/ffs/ffs_vnops.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_vnops.c diff -u src/sys/ufs/ffs/ffs_vnops.c:1.116 src/sys/ufs/ffs/ffs_vnops.c:1.117 --- src/sys/ufs/ffs/ffs_vnops.c:1.116 Thu Aug 12 07:41:49 2010 +++ src/sys/ufs/ffs/ffs_vnops.c Fri Apr 15 15:54:11 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: ffs_vnops.c,v 1.116 2010/08/12 07:41:49 hannken Exp $ */ +/* $NetBSD: ffs_vnops.c,v 1.117 2011/04/15 15:54:11 hannken Exp $ */ /*- * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc. @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ffs_vnops.c,v 1.116 2010/08/12 07:41:49 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ffs_vnops.c,v 1.117 2011/04/15 15:54:11 hannken Exp $"); #if defined(_KERNEL_OPT) #include "opt_ffs.h" @@ -282,19 +282,18 @@ int bsize; daddr_t blk_high; struct vnode *vp; -#ifdef WAPBL struct mount *mp; -#endif vp = ap->a_vp; + mp = vp->v_mount; - fstrans_start(vp->v_mount, FSTRANS_LAZY); + fstrans_start(mp, FSTRANS_LAZY); if ((ap->a_offlo == 0 && ap->a_offhi == 0) || (vp->v_type != VREG)) { error = ffs_full_fsync(vp, ap->a_flags); goto out; } - bsize = vp->v_mount->mnt_stat.f_iosize; + bsize = mp->mnt_stat.f_iosize; blk_high = ap->a_offhi / bsize; if (ap->a_offhi % bsize != 0) blk_high++; @@ -312,7 +311,7 @@ } #ifdef WAPBL - mp = wapbl_vptomp(vp); + KASSERT(vp->v_type == VREG); if (mp->mnt_wapbl) { /* * Don't bother writing out metadata if the syncer is @@ -321,7 +320,7 @@ * VFS_SYNC(). */ if ((ap->a_flags & (FSYNC_DATAONLY | FSYNC_LAZY)) != 0) { - fstrans_done(vp->v_mount); + fstrans_done(mp); return 0; } error = 0; @@ -330,7 +329,7 @@ IN_MODIFIED | IN_ACCESSED)) { error = UFS_WAPBL_BEGIN(mp); if (error) { - fstrans_done(vp->v_mount); + fstrans_done(mp); return error; } error = ffs_update(vp, NULL, NULL, UPDATE_CLOSE | @@ -338,11 +337,11 @@ UFS_WAPBL_END(mp); } if (error || (ap->a_flags & FSYNC_NOLOG) != 0) { - fstrans_done(vp->v_mount); + fstrans_done(mp); return error; } error = wapbl_flush(mp->mnt_wapbl, 0); - fstrans_done(vp->v_mount); + fstrans_done(mp); return error; } #endif /* WAPBL */ @@ -389,7 +388,7 @@ } out: - fstrans_done(vp->v_mount); + fstrans_done(mp); return error; }