DragonFly BSD
DragonFly bugs List (threaded) for 2005-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Tentitive UFS patch to narrow down dup alloc panics


From: David Rhodus <sdrhodus@xxxxxxxxx>
Date: Mon, 17 Jan 2005 15:56:38 -0500

On Thu, 13 Jan 2005 13:22:34 -0800 (PST), Matthew Dillon
<dillon@xxxxxxxxxxxxxxxxxxxx> wrote:
>     I would appreciate it if everyone who regularly gets 'dup alloc' inode
>     panics would apply this patch, install a new kernel, reboot into single
>     user, and fsck (to get a 'clean slate'), then reboot normally and see if
>     the dup alloc panic still occurs.
> 
>     I am trying to narrow down the possible sources of the bug.  The
>     dup alloc (inode) panic also occurs in FreeBSD 5.3 and FreeBSD 4.x,
>     and I think they are all related.  But finding the problem is proving
>     to be difficult due to its delayed-action nature.
> 
>     This patch prevents the UFS filesystem from reallocating an inode
>     that has not yet been completely disposed of by the system.  There
>     is a possible race in the vnode disposal code where the inode hash
>     table is inconsistent with the vnode state.  If an inode is reallocated
>     at that point it is entirely possible that the on-disk inode structure
>     could become inconsistent with the actual state of the system.
> 
>     If you get any 'conflict with vnode ...' messages on the console/dmesg
>     using this patch, please report them immediately along with what you
>     were doing at the time.
> 
>                                                 -Matt

I have been running this patch on a few machines which are regularly
under heavy I/O load the past 4 days and haven't had any problems.  I
would feel comfortable if you wanted to go ahead and commit this into
the tree for further testing.

-- 
                                            -David
                                            Steven David Rhodus
                                            <drhodus@xxxxxxxxxxx>



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