From root@keg.isi.edu  Wed Aug 28 13:59:46 2002
Return-Path: <root@keg.isi.edu>
Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 4493E37B400
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 28 Aug 2002 13:59:46 -0700 (PDT)
Received: from keg.isi.edu (keg.isi.edu [128.9.160.108])
	by mx1.FreeBSD.org (Postfix) with ESMTP id CFFAD43E65
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 28 Aug 2002 13:59:45 -0700 (PDT)
	(envelope-from root@keg.isi.edu)
Received: from keg.isi.edu (localhost [127.0.0.1])
	by keg.isi.edu (8.12.5/8.12.5) with ESMTP id g7SKxfxt000805
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 28 Aug 2002 13:59:41 -0700 (PDT)
	(envelope-from root@keg.isi.edu)
Received: (from root@localhost)
	by keg.isi.edu (8.12.5/8.12.5/Submit) id g7SKxe1m000804;
	Wed, 28 Aug 2002 13:59:40 -0700 (PDT)
Message-Id: <200208282059.g7SKxe1m000804@keg.isi.edu>
Date: Wed, 28 Aug 2002 13:59:40 -0700 (PDT)
From: Lars Eggert <larse@isi.edu>
Reply-To: Lars Eggert <larse@isi.edu>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: NTFS read corruption under -CURRENT
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         42139
>Category:       kern
>Synopsis:       NTFS read corruption under -CURRENT
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    semenu
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 28 14:00:05 PDT 2002
>Closed-Date:    Wed Sep 25 16:57:36 PDT 2002
>Last-Modified:  Wed Sep 25 16:57:36 PDT 2002
>Originator:     Lars Eggert
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
USC/ISI
>Environment:
System: FreeBSD keg.isi.edu 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Wed Aug 28 13:24:40 PDT 2002 root@hbo.isi.edu:/build/current/obj/build/current/src/sys/ISI i386
	
>Description:
I'm mounting a Windows XP partition under -CURRENT (for the TrueType fonts).
File reads on this NTFS partition return corrupt data (too short, some parts
garbled, some parts OK).

I'm mounting the same partition under 4.6-RELEASE on the same machine, 
and the same accesses (to the same files) work correctly.

I've just started to use -CURRENT, so I don't know if this problem recently
appeared or has been present for a while.
>How-To-Repeat:
Mount an NTFS partition via mount_ntfs.
Access files there, e.g. via cat, cp or hexdump.
>Fix:

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->semenu 
Responsible-Changed-By: semenu 
Responsible-Changed-When: Mon Sep 2 10:24:21 PDT 2002 
Responsible-Changed-Why:  
Forward to maintainer. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=42139 

From: Lars Eggert <larse@ISI.EDU>
To: freebsd-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: kern/42139: NTFS read corruption under -CURRENT
Date: Wed, 25 Sep 2002 15:26:59 -0700

 This is a cryptographically signed message in MIME format.
 
 --------------ms090502040004000709060707
 Content-Type: multipart/mixed;
  boundary="------------030504010708000109030809"
 
 This is a multi-part message in MIME format.
 --------------030504010708000109030809
 Content-Type: text/plain; charset=us-ascii; format=flowed
 Content-Transfer-Encoding: 7bit
 
 For the record, this patch (adapted from semenu@) fixes the issue.
 -- 
 Lars Eggert <larse@isi.edu>           USC Information Sciences Institute
 
 --------------030504010708000109030809
 Content-Type: text/plain;
  name="ntfs_vnops.c.patch"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="ntfs_vnops.c.patch"
 
 Index: ntfs_vnops.c
 ===================================================================
 RCS file: /home/ncvs/src/sys/fs/ntfs/ntfs_vnops.c,v
 retrieving revision 1.33
 diff -u -r1.33 ntfs_vnops.c
 --- ntfs_vnops.c	2002/09/25 02:32:39	1.33
 +++ ntfs_vnops.c	2002/09/25 22:26:34
 @@ -75,6 +75,7 @@
  static int	ntfs_getattr(struct vop_getattr_args *ap);
  static int	ntfs_inactive(struct vop_inactive_args *ap);
  static int	ntfs_reclaim(struct vop_reclaim_args *ap);
 +static int	ntfs_bmap(struct vop_bmap_args *ap);
  static int	ntfs_strategy(struct vop_strategy_args *ap);
  static int	ntfs_access(struct vop_access_args *ap);
  static int	ntfs_open(struct vop_open_args *ap);
 @@ -86,6 +87,32 @@
  
  int	ntfs_prtactive = 1;	/* 1 => print out reclaim of active vnodes */
  
 +/*
 + * This is a noop, simply returning what one has been given.
 + */
 +int
 +ntfs_bmap(ap)
 +      struct vop_bmap_args /* {
 +              struct vnode *a_vp;
 +              daddr_t  a_bn;
 +              struct vnode **a_vpp;
 +              daddr_t *a_bnp;
 +              int *a_runp;
 +              int *a_runb;
 +      } */ *ap;
 +{
 +      dprintf(("ntfs_bmap: vn: %p, blk: %d\n", ap->a_vp,(u_int32_t)ap->a_bn));
 +      if (ap->a_vpp != NULL)
 +              *ap->a_vpp = ap->a_vp;
 +      if (ap->a_bnp != NULL)
 +              *ap->a_bnp = ap->a_bn;
 +      if (ap->a_runp != NULL)
 +              *ap->a_runp = 0;
 +      if (ap->a_runb != NULL)
 +              *ap->a_runb = 0;
 +      return (0);
 +}
 +
  static int
  ntfs_read(ap)
  	struct vop_read_args /* {
 @@ -750,6 +777,7 @@
  	{ &vop_readdir_desc, (vop_t *)ntfs_readdir },
  	{ &vop_fsync_desc, (vop_t *)ntfs_fsync },
  
 +	{ &vop_bmap_desc, (vop_t *)ntfs_bmap },
  	{ &vop_strategy_desc, (vop_t *)ntfs_strategy },
  	{ &vop_read_desc, (vop_t *)ntfs_read },
  	{ &vop_write_desc, (vop_t *)ntfs_write },
 
 --------------030504010708000109030809--
 
 --------------ms090502040004000709060707
 Content-Type: application/x-pkcs7-signature; name="smime.p7s"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename="smime.p7s"
 Content-Description: S/MIME Cryptographic Signature
 
 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJtjCC
 AzgwggKhoAMCAQICEGZFcrfMdPXPY3ZFhNAukQEwDQYJKoZIhvcNAQEEBQAwgdExCzAJBgNV
 BAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgG
 A1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2Vydmlj
 ZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkG
 CSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0wMDA4MzAwMDAw
 MDBaFw0wNDA4MjcyMzU5NTlaMIGSMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBD
 YXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUQ2Vy
 dGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVtYWlsIFJTQSAyMDAw
 LjguMzAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAN4zMqZjxwklRT7SbngnZ4HF2ogZ
 gpcO40QpimM1Km1wPPrcrvfudG8wvDOQf/k0caCjbZjxw0+iZdsN+kvx1t1hpfmFzVWaNRqd
 knWoJ67Ycvm6AvbXsJHeHOmr4BgDqHxDQlBRh4M88Dm0m1SKE4f/s5udSWYALQmJ7JRr6aFp
 AgMBAAGjTjBMMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwxLTI5NzAS
 BgNVHRMBAf8ECDAGAQH/AgEAMAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQQFAAOBgQAxsUtH
 XfkBceX1U2xdedY9mMAmE2KBIqcS+CKV6BtJtyd7BDm6/ObyJOuR+r3sDSo491BVqGz3Da1M
 G7wD9LXrokefbKIMWI0xQgkRbLAaadErErJAXWr5edDqLiXdiuT82w0fnQLzWtvKPPZE6iZp
 h39Ins6ln+eE2MliYq0FxjCCAzkwggKioAMCAQICAwglQTANBgkqhkiG9w0BAQQFADCBkjEL
 MAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3du
 MQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZpY2VzMSgwJgYD
 VQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAwMC44LjMwMB4XDTAyMDgyNDE4NTMzOVoX
 DTAzMDgyNDE4NTMzOVowVDEPMA0GA1UEBBMGRWdnZXJ0MQ0wCwYDVQQqEwRMYXJzMRQwEgYD
 VQQDEwtMYXJzIEVnZ2VydDEcMBoGCSqGSIb3DQEJARYNbGFyc2VAaXNpLmVkdTCCASIwDQYJ
 KoZIhvcNAQEBBQADggEPADCCAQoCggEBANI2Rrt4ggaQ/IrOsDeOm2H4/R5FRIL6JjDY3StE
 aogp1r23WKniQ1Vj98Nu5WxlaZ3Iam3Jen5T66H8u7rtMNpK4qAeAGoBsVeyVr1+CTFeuv+m
 xCh7BvBJwhLdm0zDaoDT05YKYZaqtsT+F286FWJQg31Xtf+vTKLVVrHcsafnteyal2NEt7Ac
 yZZfjsVLwxp2Lq3cwYfRQRoo7/yCVzS7HsgM6jmbO4taEMo4yC2rpnUbWEUCDTaCYgpAXzAl
 oiNk7GDh0wz2s5ZSnHRvNSBMAjCmpNtSYHfXFI1ANwrrrHIJ7Ei83+XN32PWY4OPzO3iown9
 VR+vM+8lNx9OX28CAwEAAaNWMFQwKgYFK2UBBAEEITAfAgEAMBowGAIBBAQTTDJ1TXlmZkJO
 VWJOSkpjZFoyczAYBgNVHREEETAPgQ1sYXJzZUBpc2kuZWR1MAwGA1UdEwEB/wQCMAAwDQYJ
 KoZIhvcNAQEEBQADgYEAXcrIlKmPLM/r8r3oz2ZLPLaT1AyMjYTZY2qq/R7SUtFa9BNlTIFh
 DG78QKfJ9lo2LMzTPQqMZgNLmj95GbNPI8P8OIq2K6MeCZWz08ROackqTFP6xWbIFIfXcBVR
 1dZnDDyDKBBh05KkvyTPawSQyOBUeNBfQUyO4TE+3o58U8UwggM5MIICoqADAgECAgMIJUEw
 DQYJKoZIhvcNAQEEBQAwgZIxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUx
 EjAQBgNVBAcTCUNhcGUgVG93bjEPMA0GA1UEChMGVGhhd3RlMR0wGwYDVQQLExRDZXJ0aWZp
 Y2F0ZSBTZXJ2aWNlczEoMCYGA1UEAxMfUGVyc29uYWwgRnJlZW1haWwgUlNBIDIwMDAuOC4z
 MDAeFw0wMjA4MjQxODUzMzlaFw0wMzA4MjQxODUzMzlaMFQxDzANBgNVBAQTBkVnZ2VydDEN
 MAsGA1UEKhMETGFyczEUMBIGA1UEAxMLTGFycyBFZ2dlcnQxHDAaBgkqhkiG9w0BCQEWDWxh
 cnNlQGlzaS5lZHUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDSNka7eIIGkPyK
 zrA3jpth+P0eRUSC+iYw2N0rRGqIKda9t1ip4kNVY/fDbuVsZWmdyGptyXp+U+uh/Lu67TDa
 SuKgHgBqAbFXsla9fgkxXrr/psQoewbwScIS3ZtMw2qA09OWCmGWqrbE/hdvOhViUIN9V7X/
 r0yi1Vax3LGn57XsmpdjRLewHMmWX47FS8Madi6t3MGH0UEaKO/8glc0ux7IDOo5mzuLWhDK
 OMgtq6Z1G1hFAg02gmIKQF8wJaIjZOxg4dMM9rOWUpx0bzUgTAIwpqTbUmB31xSNQDcK66xy
 CexIvN/lzd9j1mODj8zt4qMJ/VUfrzPvJTcfTl9vAgMBAAGjVjBUMCoGBStlAQQBBCEwHwIB
 ADAaMBgCAQQEE0wydU15ZmZCTlViTkpKY2RaMnMwGAYDVR0RBBEwD4ENbGFyc2VAaXNpLmVk
 dTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBAF3KyJSpjyzP6/K96M9mSzy2k9QM
 jI2E2WNqqv0e0lLRWvQTZUyBYQxu/ECnyfZaNizM0z0KjGYDS5o/eRmzTyPD/DiKtiujHgmV
 s9PETmnJKkxT+sVmyBSH13AVUdXWZww8gygQYdOSpL8kz2sEkMjgVHjQX0FMjuExPt6OfFPF
 MYIDJzCCAyMCAQEwgZowgZIxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUx
 EjAQBgNVBAcTCUNhcGUgVG93bjEPMA0GA1UEChMGVGhhd3RlMR0wGwYDVQQLExRDZXJ0aWZp
 Y2F0ZSBTZXJ2aWNlczEoMCYGA1UEAxMfUGVyc29uYWwgRnJlZW1haWwgUlNBIDIwMDAuOC4z
 MAIDCCVBMAkGBSsOAwIaBQCgggFhMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
 hvcNAQkFMQ8XDTAyMDkyNTIyMjY1OVowIwYJKoZIhvcNAQkEMRYEFGRXa5tvM1DF/xEd3drD
 +ZwosihIMFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0G
 CCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGtBgsqhkiG9w0BCRACCzGB
 naCBmjCBkjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ
 Q2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZp
 Y2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAwMC44LjMwAgMIJUEwDQYJ
 KoZIhvcNAQEBBQAEggEAucy9LO0PI/kwcO2mPAftUx63QShxUQqbVXUEfvfQl1Y1bn9Nx/Cl
 DuPf1X3JOMpp1B5NgKglJVRv4aXk3pVhDfWYlWxzeFl4ryriVp9hdwx8sBGfC/kwNJZycbAD
 C0rE7XOuYDk1RFdJkEAuTNN4XXoS5C3v0d5jptctOt0rzhnu02jQ+USv45PgSgn6xTpX3tl8
 ezqW2vJ86oQc9WRbDCLmLd8vlRQDWoYlVjcYvm/Y3nOGVERsVEsxTH/Dha+t3861pFeb5uC2
 +A71sb0RDvpNWk/g6T3iQAgygjRnZPW52wKmGuh6jkTOMRqPpgP+ZkBcvYiKFYjr3syY+eVb
 uQAAAAAAAA==
 --------------ms090502040004000709060707--
 
State-Changed-From-To: open->closed 
State-Changed-By: semenu 
State-Changed-When: Wed Sep 25 16:55:32 PDT 2002 
State-Changed-Why:  
Fix commited to -current. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=42139 
>Unformatted:
