NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/47739: tmpfs panic: kernel diagnostic assertion "(node)->tn_spec.tn_dir.tn_readdir_lastp == NULL..."
The following reply was made to PR kern/47739; it has been noted by GNATS.
From: David Laight <david%l8s.co.uk@localhost>
To: David Holland <dholland-bugs%netbsd.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: kern/47739: tmpfs panic: kernel diagnostic assertion
"(node)->tn_spec.tn_dir.tn_readdir_lastp == NULL..."
Date: Wed, 9 Oct 2013 21:27:38 +0100
On Mon, Oct 07, 2013 at 07:42:23AM +0000, David Holland wrote:
> On Thu, Aug 08, 2013 at 08:30:01PM +0000, Mindaugas Rasiukevicius wrote:
> > > Can someone please take a look?
>
> almost certainly the same as 47480 (and 41068)
>
> > > Thomas
> >
> > Most likely this is due to tmpfs_dircookie() truncation here:
> >
> > http://nxr.netbsd.org/source/xref/src/sys/fs/tmpfs/tmpfs.h#88
> >
> > It is wrong and there are other PRs because of it. Thomas, you can test
> > this by replacing the function body with the following:
> >
> > return (off_t)(uintptr_t)de;
> >
> > This breaks linux32 compat, but we really just need to decide how we want
> > to fix it (it would be good to avoid penalising the native code, but
> better
> > to penalise than fail).
>
> Four and a half years ago (in PR 41068) I asked why tmpfs does this
> nonsense instead of just assigning sequence numbers to each node.
> Nobody has ever managed to come up with a coherent justification, just
> FUD.
If it assigned sequence numbers it would have to check for already used
values once it had created 2^32 entries (assuming it needs to generate
32bit offsets).
Something based on the algorithm used to look up process ids might be
better.
David
--
David Laight: david%l8s.co.uk@localhost
Home |
Main Index |
Thread Index |
Old Index