Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/fs/msdosfs Add missing fstrans_done().



details:   https://anonhg.NetBSD.org/src/rev/0d0955ec9f03
branches:  trunk
changeset: 771454:0d0955ec9f03
user:      hannken <hannken%NetBSD.org@localhost>
date:      Mon Nov 21 10:46:56 2011 +0000

description:
Add missing fstrans_done().

Should fix PR #45635 (KASSERT "fli->fli_trans_cnt == 0" failed)

diffstat:

 sys/fs/msdosfs/msdosfs_vnops.c |  8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diffs (30 lines):

diff -r f91369a081e0 -r 0d0955ec9f03 sys/fs/msdosfs/msdosfs_vnops.c
--- a/sys/fs/msdosfs/msdosfs_vnops.c    Mon Nov 21 09:46:19 2011 +0000
+++ b/sys/fs/msdosfs/msdosfs_vnops.c    Mon Nov 21 10:46:56 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: msdosfs_vnops.c,v 1.78 2011/07/20 11:52:00 hannken Exp $       */
+/*     $NetBSD: msdosfs_vnops.c,v 1.79 2011/11/21 10:46:56 hannken Exp $       */
 
 /*-
  * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.78 2011/07/20 11:52:00 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.79 2011/11/21 10:46:56 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -499,8 +499,10 @@
                lbn = de_cluster(pmp, uio->uio_offset);
                on = uio->uio_offset & pmp->pm_crbomask;
                n = MIN(pmp->pm_bpcluster - on, uio->uio_resid);
-               if (uio->uio_offset >= dep->de_FileSize)
+               if (uio->uio_offset >= dep->de_FileSize) {
+                       fstrans_done(vp->v_mount);
                        return (0);
+               }
                /* file size (and hence diff) may be up to 4GB */
                diff = dep->de_FileSize - uio->uio_offset;
                if (diff < n)



Home | Main Index | Thread Index | Old Index