From owner-freebsd-fs@FreeBSD.ORG Wed Jul 29 09:52:25 2009 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE1B11065679; Wed, 29 Jul 2009 09:52:25 +0000 (UTC) (envelope-from r.c.ladan@gmail.com) Received: from mail-ew0-f213.google.com (mail-ew0-f213.google.com [209.85.219.213]) by mx1.freebsd.org (Postfix) with ESMTP id 1ECF58FC0A; Wed, 29 Jul 2009 09:52:24 +0000 (UTC) (envelope-from r.c.ladan@gmail.com) Received: by ewy9 with SMTP id 9so542417ewy.43 for ; Wed, 29 Jul 2009 02:52:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=qew2moPiidwNvCxOfP0vo+blsbr56CIu+mnDvAfNh5Y=; b=Omo3txuLoVc1xXCbuExblrA/kAaWwTJkI/7v7nJ4fTJYVaD1kAkreDGwwy/3rj/r3k Q/q14tfTQs0SpMVXuXssIUGMkmcTWKKBqY45WbPuO41/0hFYDeDcf9G66Do/6q56XD5S Mg3UYYfb26KetFw6ut0olDQ84oRZUVGdoiM/U= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=tF/LtHaWN0dr4FxQIYtpegAXlBVZRJEnl+u27HXZ22TyYvGlKoVWcHUiYyS8ZoxIa7 oTqMxlNcjJtVYjwJNGU0ZB2ZYGnCshe/7w1CdO/idQo5NrCzHxiD0b+NTbiKUVmAYy3w 1KoBzIzdSvjrvQ5IkZhw24Ddlnw3u0Mxc9uxA= MIME-Version: 1.0 Sender: r.c.ladan@gmail.com Received: by 10.216.25.144 with SMTP id z16mr2291079wez.179.1248861144056; Wed, 29 Jul 2009 02:52:24 -0700 (PDT) In-Reply-To: <200907281038.30277.jhb@freebsd.org> References: <200907271400.n6RE05Rv056472@freefall.freebsd.org> <200907280941.32840.jhb@freebsd.org> <200907281038.30277.jhb@freebsd.org> Date: Wed, 29 Jul 2009 11:52:24 +0200 X-Google-Sender-Auth: 9a9dc308b3ac5ac7 Message-ID: From: Rene Ladan To: John Baldwin Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-fs@freebsd.org Subject: Re: kern/136945: [ufs] [lor] filedesc structure/ufs (poll) X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2009 09:52:26 -0000 2009/7/28 John Baldwin : > On Tuesday 28 July 2009 10:03:40 am Rene Ladan wrote: >> 2009/7/28 John Baldwin : >> > On Monday 27 July 2009 10:00:05 am Rene Ladan wrote: >> >> The following reply was made to PR kern/136945; it has been noted by > GNATS. >> >> >> >> From: Rene Ladan >> >> To: John Baldwin >> >> Cc: bug-followup@freebsd.org >> >> Subject: Re: kern/136945: [ufs] [lor] filedesc structure/ufs (poll) >> >> Date: Mon, 27 Jul 2009 15:51:15 +0200 >> >> >> >> =A02009/7/27 John Baldwin : >> >> =A0> I would actually expect this to be the correct order for these t= wo >> > locks.=3D >> >> =A0 =3DA0Can >> >> =A0> you capture the output of the 'debug.witness.fullgraph' sysctl t= o a > file? >> >> =A0> >> >> =A0Yes, see attachment. =A0I'm still running the same 8.0-BETA2. >> > >> > Hmm, the attachment was eaten by a grue, can you post the file somewhe= re? >> > >> Yes, see ftp://rene-ladan.nl/pub/freebsd/kern_136945.txt > > Ok, it looks like it did encounter a UFS -> filedesc order at some point.= =A0Can > you patch sys/kern/subr_witness.c to add a section to the order_lists[] a= rray > after the 'ZFS locking list' and before the spin locks list that looks li= ke > this: > > =A0 =A0 =A0 =A0{ "filedesc structure", &lock_class_sx }, > =A0 =A0 =A0 =A0{ "ufs", &lock_class_lockmgr}, > =A0 =A0 =A0 =A0{ NULL, NULL }, > The LOR seems to be gone, previously it showed up only once right after booting the system. But now a new LOR (according to the LOR page) seems pop up: Trying to mount root from ufs:/dev/ad0s1a lock order reversal: 1st 0xffffff0002a4ad80 ufs (ufs) @ /usr/src/sys/ufs/ffs/ffs_vfsops.c:1465 2nd 0xffffff0002b29a48 filedesc structure (filedesc structure) @ /usr/src/sys/kern/kern_descrip.c:2478 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a _witness_debugger() at _witness_debugger+0x49 witness_checkorder() at witness_checkorder+0x7ea _sx_xlock() at _sx_xlock+0x44 mountcheckdirs() at mountcheckdirs+0x80 vfs_donmount() at vfs_donmount+0xfbf kernel_mount() at kernel_mount+0xa1 vfs_mountroot_try() at vfs_mountroot_try+0x177 vfs_mountroot() at vfs_mountroot+0x47d start_init() at start_init+0x62 fork_exit() at fork_exit+0x12a fork_trampoline() at fork_trampoline+0xe --- trap 0, rip =3D 0, rsp =3D 0xffffff800001ad30, rbp =3D 0 --- The output of `df' and `mount' looks ok. Ren=E9