NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/51410: running lfs_cleanerd after mount panics on sasert



>Number:         51410
>Category:       kern
>Synopsis:       running lfs_cleanerd after mount panics on sasert
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Aug 12 01:35:00 +0000 2016
>Originator:     coypu
>Release:        NetBSD 7.99.35
>Organization:
>Environment:
NetBSD laptop 7.99.35 NetBSD 7.99.35 (GENERIC) #9: Sun Aug  7 01:51:29 IDT 2016  fly@:/home/fly/cvs/obj-amd64/sys/arch/amd64/compile/GENERIC amd64
>Description:
have LFS mounted on /lfs

# pkill lfs_cleanerd
# lfs_cleanerd /lfs

-> panic

System panicked: kernel diagnostic assertion "fs->lfs_cleaner_thread == curlwp" failed: file "/home/fly/cvs/src/sys/ufs/lfs/lfs_syscalls.c", line 668
>How-To-Repeat:

>Fix:
The following will prevent the panic, but run into other issues with two cleaners, most likely.

--- /usr/cvs/src/sys/ufs/lfs/lfs_syscalls.c	2015-10-15 09:15:48.000000000 +0300
+++ /home/fly/lfs_syscalls.c	2016-08-12 04:25:00.437899808 +0300
@@ -663,9 +663,8 @@
 	ump = VFSTOULFS(mntp);
 	fs = ump->um_lfs;
 
-	if (fs->lfs_cleaner_thread == NULL)
+	if (fs->lfs_cleaner_thread != curlwp)
 		fs->lfs_cleaner_thread = curlwp;
-	KASSERT(fs->lfs_cleaner_thread == curlwp);
 
 	cnt = blkcnt;
 



Home | Main Index | Thread Index | Old Index