NetBSD-Bugs archive

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

Re: kern/46822: NetBSD 5.1.2 seems to deadlock in the filesystem (or other kernel parts) "sometimes"



The following reply was made to PR kern/46822; it has been noted by GNATS.

From: David Holland <dholland-bugs%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: kern/46822: NetBSD 5.1.2 seems to deadlock in the filesystem (or
 other kernel parts) "sometimes"
Date: Wed, 22 Aug 2012 05:37:29 +0000

 On Mon, Aug 20, 2012 at 02:40:00PM +0000, 
Wolfgang.Stukenbrock%nagler-company.com@localhost wrote:
  >     Our productive webserver locks up from time to time.
  > [everything tstiles, seems to be fs-related]
 
 In all probability it's deadlocking in ufs_rename. The fixes for
 ufs_rename are not in 5.1.2; they only got committed to the netbsd-5
 branch in May, and I don't think they've been applied to the _PATCH
 branches at all.
 
 If you don't want to update to the latest 5.1_STABLE, and if you're
 running 5.1.2 I'd expect that's the case, I'd suggest pulling these
 fixes in directly.
 
 It's probably also a good idea to test them on 5.1.2 on a crash
 machine before going into production, just in case; there are a lot of
 strange problems in the history of that patch set, some of which
 manifested only with -5 and not with -current. It's entirely possible
 that the correct operation might depend on something in 5.1_STABLE
 that's not in 5.1.2.
 
 My recommendation would be to pull in those fixes; either by updating
 on the netbsd-5 branch or by specifically pulling the changeset in.
 (Even if the problem turns out to be something else it's probably
 worth doing.)
 
 The following are the commit mails from the netbsd-5 backport of the
 rename fixes:
 
    ------
 
 From: "Jeff Rizzo" <riz%netbsd.org@localhost>
 To: source-changes%NetBSD.org@localhost
 Subject: CVS commit: [netbsd-5] src/sys/ufs
 Date: Sat, 19 May 2012 17:28:29 +0000
 
 Module Name:   src
 Committed By:  riz
 Date:          Sat May 19 17:28:29 UTC 2012
 
 Modified Files:
        src/sys/ufs/lfs [netbsd-5]: lfs_vnops.c
        src/sys/ufs/ufs [netbsd-5]: inode.h ufs_extern.h ufs_lookup.c
            ufs_vnops.c ufs_wapbl.c
 
 Log Message:
 Apply patch (requested by buhrow in ticket #1759):
 
 sys/ufs/lfs/lfs_vnops.c                                patch
 sys/ufs/ufs/inode.h                            patch
 sys/ufs/ufs/ufs_extern.h                       patch
 sys/ufs/ufs/ufs_lookup.c                       patch
 sys/ufs/ufs/ufs_vnops.c                                patch
 sys/ufs/ufs/ufs_wapbl.c                                patch
 
        Port dholland's ufs_rename locking changes to netbsd-5.
        [buhrow, ticket #1759]
 
         Hello.  More testing has revealed a minor misunderstanding between the
 vnode API in -current and 5.x.  The below patch, against NetBSD-5.1
 sources, rolls all the accumulated patches into one patch set.  With this
 patch, I believe you can now run with WAPBL, softdep or traditional ufs
 semantics with heavy file loads and avoid panics due to resource exhaustion
 and/or tstile deadlocks.  Testing has been done on I386, both uniprocessor
 and multiprocessor, and on Sparc  machines in uniprocessor mode, though I
 think multiprocessor Sparc would be fine as well.  Since these changes are
 machine independent, I don't anticipate any issues on any platform.  It is
 my hope that modulo any final issues that come up in the final round of
 testing I'm currently performing, these patches will be ready to be pulled
 up into the NetBSD-5 branch.
         Finally, I'd like to thank mouse@ and hannken@ for their help and
 patience in helping me track down and test the final versions of these
 patches.  With their assistance, I'm confident these patches make NetBSD-5
 a much more stable and robust operating environment in a variety of
 setings.
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.218 -r1.218.6.1 src/sys/ufs/lfs/lfs_vnops.c
 cvs rdiff -u -r1.54.4.1 -r1.54.4.2 src/sys/ufs/ufs/inode.h
 cvs rdiff -u -r1.60 -r1.60.8.1 src/sys/ufs/ufs/ufs_extern.h
 cvs rdiff -u -r1.99.4.1 -r1.99.4.2 src/sys/ufs/ufs/ufs_lookup.c
 cvs rdiff -u -r1.169.4.1 -r1.169.4.2 src/sys/ufs/ufs/ufs_vnops.c
 cvs rdiff -u -r1.2.8.1 -r1.2.8.2 src/sys/ufs/ufs/ufs_wapbl.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 
    ------
 
 From: "Jeff Rizzo" <riz%netbsd.org@localhost>
 To: source-changes%NetBSD.org@localhost
 Subject: CVS commit: [netbsd-5] src/usr.bin/pmap
 Date: Sun, 20 May 2012 17:32:24 +0000
 
 Module Name:   src
 Committed By:  riz
 Date:          Sun May 20 17:32:24 UTC 2012
 
 Modified Files:
        src/usr.bin/pmap [netbsd-5]: pmap.h
 
 Log Message:
 usr.bin/pmap/pmap.h                            patch
 
        Fix build problem introduced by ticket #1759.
        [jdc, ticket #1760]
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.7 -r1.7.6.1 src/usr.bin/pmap/pmap.h
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 
    ------
 
 From: "Jeff Rizzo" <riz%netbsd.org@localhost>
 To: source-changes%NetBSD.org@localhost
 Subject: CVS commit: [netbsd-5] src/sys/ufs/ufs
 Date: Tue, 22 May 2012 21:44:38 +0000
 
 Module Name:   src
 Committed By:  riz
 Date:          Tue May 22 21:44:38 UTC 2012
 
 Modified Files:
        src/sys/ufs/ufs [netbsd-5]: ufs_vnops.c
 
 Log Message:
 Pull up following patch (requested by buhrow in ticket #1763):
        sys/ufs/ufs/ufs_vnops.c: patch
 
 Make sure we return EXDEV on cross-device links rather than panicing
 the system.  This corrects a pasting error from the merged patches
 in ticket 1759.
 
 Thanks to hannken@ for figuring out the error.
 Fixes pr kern/46472
 Tested by buhrow@
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.169.4.2 -r1.169.4.3 src/sys/ufs/ufs/ufs_vnops.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 
    ------
 
 -- 
 David A. Holland
 dholland%netbsd.org@localhost
 


Home | Main Index | Thread Index | Old Index