Subject: kern/5387: The kernel hang up when write FAT32 filesystem
To: None <gnats-bugs@gnats.netbsd.org>
From: None <oki@yk.rim.or.jp>
List: netbsd-bugs
Date: 05/02/1998 10:23:57
>Number:         5387
>Category:       kern
>Synopsis:       The kernel hang up when write FAT32 filesystem.
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri May  1 18:35:01 1998
>Last-Modified:
>Originator:     Masaru Oki
>Organization:
	
>Release:        NetBSD 1.3
>Environment:
	
System: NetBSD chiharu.yk.rim.or.jp 1.3 NetBSD 1.3 (MOBIO) #0: Mon Feb 2 02:51:32 JST 1998 oki@chiharu.yk.rim.or.jp:/usr/src/sys/arch/i386/compile/MOBIO i386


>Description:
	
	NetBSD can mount and read FAT32 filesystem with msdosfs.
	But, cannot write to FAT32 filesystem. Hang up.
>How-To-Repeat:
	
	In Windows95(OSR2) command prompt,
		FDISK (with large filesystem support)
		FORMAT C:
	In NetBSD,
		(/dev/wd0e == C:)
		mount -t msdosfs /dev/wd0e /c
		mkdir /c/XXXX, touch /c/XXXX, etc, etc.
>Fix:
	
This is patch to NetBSD-current(1.3E, 980420).

--- sys/msdosfs/msdosfs_fat.c.org	Wed Apr 22 14:34:40 1998
+++ sys/msdosfs/msdosfs_fat.c	Wed Apr 22 14:35:41 1998
@@ -353,7 +353,7 @@
 			 * The cluster indicated in FSInfo isn't free
 			 * any longer.  Got get a new free one.
 			 */
-			for (cn = 0; cn < pmp->pm_maxcluster;)
+			for (cn = 0; cn < pmp->pm_maxcluster; cn++)
 				if (pmp->pm_inusemap[cn / N_INUSEBITS] != (u_int)-1)
 					break;
 			pmp->pm_nxtfree = cn
>Audit-Trail:
>Unformatted: