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);