From owner-cvs-all@FreeBSD.ORG Mon Dec 13 13:06:28 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 666B116A4CE; Mon, 13 Dec 2004 13:06:28 +0000 (GMT) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id BD44443D62; Mon, 13 Dec 2004 13:06:27 +0000 (GMT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.13.1/8.13.1) with ESMTP id iBDD6Q4d037125; Mon, 13 Dec 2004 14:06:26 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: Ruslan Ermilov From: "Poul-Henning Kamp" In-Reply-To: Your message of "Mon, 13 Dec 2004 13:33:10 +0200." <20041213113310.GB51149@ip.net.ua> Date: Mon, 13 Dec 2004 14:06:26 +0100 Message-ID: <37124.1102943186@critter.freebsd.dk> Sender: phk@critter.freebsd.dk cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/ufs/ffs ffs_vfsops.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Dec 2004 13:06:28 -0000 In message <20041213113310.GB51149@ip.net.ua>, Ruslan Ermilov writes: >Another issue: > >- boot without a diskette in the drive >- insert a diskette #1 into the drive >- newfs_msdos it >- mount_msdosfs it >- copy some files onto it >- unmount it >- insert another (possibly unformatted) diskette #2 >- mount_msdosfs it and find it somehow succeeds >- list the contents of the diskette and find that it's identical > to the contents of diskette #1, including MD5 checksums of > all files > >This smells like a bufcache issue, but I may be wrong about it. Sounds like the same thing. Can you try this: ==== //depot/user/phk/phk_bufwork/sys/fs/msdosfs/msdosfs_vfsops.c#45 - /bang/p4/phk/phk_bufwork/sys/fs/msdosfs/msdosfs_vfsops.c ==== @@ -719,6 +719,7 @@ error_exit: if (bp) brelse(bp); + vinvalbuf(devvp, V_SAVE, NOCRED, td, 0, 0); if (cp != NULL) { DROP_GIANT(); g_topology_lock(); -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.