From owner-freebsd-current@FreeBSD.ORG Sun Dec 12 18:18:46 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 25FBC16A4CE for ; Sun, 12 Dec 2004 18:18:46 +0000 (GMT) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8212943D39 for ; Sun, 12 Dec 2004 18:18:45 +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 iBCIIf13018618; Sun, 12 Dec 2004 19:18:43 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: Pete Carss From: "Poul-Henning Kamp" In-Reply-To: Your message of "Sun, 12 Dec 2004 18:03:26 GMT." <41BC87EE.80007@mac.com> Date: Sun, 12 Dec 2004 19:18:41 +0100 Message-ID: <18617.1102875521@critter.freebsd.dk> Sender: phk@critter.freebsd.dk cc: freebsd-current@freebsd.org Subject: Re: [TEST] NTFS patch X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Dec 2004 18:18:46 -0000 In message <41BC87EE.80007@mac.com>, Pete Carss writes: >Toxa wrote: >> Btw, if you try to mount linux ext2 partition (if exist), and then >> reboot (without umounting it by hands), both linux and bsd partitions >> becomes unclean, e.g. you need to fsck.ext3 linux partition to mount it >> again. >> Tested on -stable and -current. -stable being releng_5, right ? It's strange that you would be able to unmount it cleanly by hand but not by shutdown. It could indicate that dirty buffers are still stuck in the buffer cache when the unmount returns. I've looked over the ext2fs code, but not found anything off the top of my head that could explain it. On -current you can try to insert a call to vinvalbuf() right before DROP_GIANT() in ext2_unmount(), something like: vinvalbuf(ump->un_devvp, 0, td->td_ucred, td, 0, 0) You can also try to insert some strategic printfs and see if the handling of the (various) read-only flag(s) work as expected. In particular look after the updates of the superblock which should happen when unmounting. -- 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.