Subject: Re: msdosfs problems.
To: <>
From: R. C. Dowdeswell <elric@mabelode.imrryr.org>
List: tech-kern
Date: 07/09/1999 14:45:37
On 931475317 seconds since the Beginning of the UNIX epoch
"R. C. Dowdeswell" wrote:
>

So, replying to myself, I have some additional information that I
got from ddb.  (unfortunately, I don't have a serial console on
the box, so I'll just write out some of the info.)

So, when I get the hanging behaviour, I popped into ddb, and did
a trace of the dd process that caused the hang.  It is tsleep(9)'ing
in getblk.  So, looking back up the trace I noticed that we are
calling getblk() from withing getblk() with the same basic args.
Anyway, I then noticed that pcbmap() was calling bread() which
tries to get a new buffer, and to do so must flush an old buffer,
and then it looks like it is tsleep()'ing on its previous incarnation.

The question that I pose is:  does it look like I am barking down
the wrong tree?  (I haven't looked through this fs code before,
and although I am UTSL there is a lot of S to U, so it is taking
me a bit of time to come up to speed.)  I looked at ufs_bmap() and
it looks like it does not initiate reads or writes, so I started
thinking that this might be the problem.

Thanks for any comments,

 == Roland Dowdeswell                      http://www.Imrryr.ORG/~elric/  ==
 == The Unofficial NetBSD Web Pages        http://www.Imrryr.ORG/NetBSD/  ==
 == The NetBSD Project                            http://www.NetBSD.ORG/  ==