Module Name:    src
Committed By:   snj
Date:           Thu Sep 10 07:33:24 UTC 2009

Modified Files:
        src/sys/fs/ntfs [netbsd-5]: ntfs_subr.c ntfs_vfsops.c

Log Message:
Pull up following revision(s) (requested by pooka in ticket #942):
        sys/fs/ntfs/ntfs_subr.c: revision 1.43
        sys/fs/ntfs/ntfs_vfsops.c: revision 1.79
Set vnode size after creation(*).  Fixes cp(1) from ntfs, the
complaint in the "ntfs ubc_uiomove error" (ubc_uiomove error was
not coming from ntfs but instead the "to" file system) and
PR kern/38531 (well, I assume the submitter wanted cp(1) working on
ntfs instead of mangling ntfs the way the PR title suggests).  Yes,
mmap works on ntfs like it always has.
*) well, um, and in other places too ... uuuh ... no comments.
but I guess this works as long as in-kernel ntfs doesn't grow write
support.


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.37.8.1 src/sys/fs/ntfs/ntfs_subr.c
cvs rdiff -u -r1.72 -r1.72.6.1 src/sys/fs/ntfs/ntfs_vfsops.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/fs/ntfs/ntfs_subr.c
diff -u src/sys/fs/ntfs/ntfs_subr.c:1.37 src/sys/fs/ntfs/ntfs_subr.c:1.37.8.1
--- src/sys/fs/ntfs/ntfs_subr.c:1.37	Fri May 16 09:21:59 2008
+++ src/sys/fs/ntfs/ntfs_subr.c	Thu Sep 10 07:33:24 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: ntfs_subr.c,v 1.37 2008/05/16 09:21:59 hannken Exp $	*/
+/*	$NetBSD: ntfs_subr.c,v 1.37.8.1 2009/09/10 07:33:24 snj Exp $	*/
 
 /*-
  * Copyright (c) 1998, 1999 Semen Ustimenko (sem...@freebsd.org)
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ntfs_subr.c,v 1.37 2008/05/16 09:21:59 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ntfs_subr.c,v 1.37.8.1 2009/09/10 07:33:24 snj Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1065,6 +1065,7 @@
 				nfp->f_size = iep->ie_fsize;
 				nfp->f_allocated = iep->ie_fallocated;
 				nfp->f_flag |= FN_PRELOADED;
+				uvm_vnp_setsize(nvp, iep->ie_fsize);
 			} else {
 				error = ntfs_filesize(ntmp, nfp,
 					    &nfp->f_size, &nfp->f_allocated);
@@ -1072,6 +1073,7 @@
 					vput(nvp);
 					goto fail;
 				}
+				uvm_vnp_setsize(nvp, nfp->f_size);
 			}
 
 			nfp->f_flag &= ~FN_VALID;

Index: src/sys/fs/ntfs/ntfs_vfsops.c
diff -u src/sys/fs/ntfs/ntfs_vfsops.c:1.72 src/sys/fs/ntfs/ntfs_vfsops.c:1.72.6.1
--- src/sys/fs/ntfs/ntfs_vfsops.c:1.72	Sat Jun 28 01:34:05 2008
+++ src/sys/fs/ntfs/ntfs_vfsops.c	Thu Sep 10 07:33:24 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: ntfs_vfsops.c,v 1.72 2008/06/28 01:34:05 rumble Exp $	*/
+/*	$NetBSD: ntfs_vfsops.c,v 1.72.6.1 2009/09/10 07:33:24 snj Exp $	*/
 
 /*-
  * Copyright (c) 1998, 1999 Semen Ustimenko
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ntfs_vfsops.c,v 1.72 2008/06/28 01:34:05 rumble Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ntfs_vfsops.c,v 1.72.6.1 2009/09/10 07:33:24 snj Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -824,7 +824,7 @@
 		}
 	}
 
-	uvm_vnp_setsize(vp, 0); /* XXX notused */
+	uvm_vnp_setsize(vp, fp->f_size); /* XXX: mess, cf. ntfs_lookupfile() */
 	VREF(ip->i_devvp);
 	*vpp = vp;
 	return (0);

Reply via email to