XFS SoftAssert when doing hard links in AFS?

Chris Wing wingc at engin.umich.edu
Sat Mar 11 10:06:38 CET 2000


Love:

> Its a bug that is releated to the name handling (dcache).
> 
> If you look in the psuedo code in xfs/linux/xfs_inodeops.c:xfs_installnode
> you see how we install the name. The problem we have is that someware we
> forget to remove the name, and then when its inserted again there this
> SoftAssert complaining. Note that Unique has changed. Its a new file.

Hmm. I'll have to look through it more deeply to get a grasp around
everything that's going on. Do you think the problem is unique to the fact
that a hard link is involved here? Or could it be something unrelated like
a race condition in arlad + xfs? (I'm using Linux 2.2 on a very
fast SMP machine, if that matters-- dual Pentium III 550)

I'll try to get some xfs debugging output when it happens again. The last
time it started acting up, it was 100% reproducible on every mailbox write
in Pine, so if it does it again, I should have no problem recording it.

> > p.s what is the plan to fix libroken? are you planning to just toss in the
> > roken from kth-krb and clean it up from there?
> 
> To main problem isn't roken by itself, its getarg. I'm sorry we cause you
> pain for a no working klog. Are log patches working for all other programs
> too (like vos/fs/pts) ?

I haven't checked every single operation in vos, fs, and pts, but I
haven't seen any problems so far. I don't use vos and pts much, and only
use fs occasionally too. When I wrote the patch I tried to look over
the other uses of getarg to make sure that I wasn't breaking any
assumptions.

klog needs 2 things from getarg:

	(1) A way to override the "automatically match arguments even if
	    they aren't specified with flags" behavior; my proposal was to
	    disable this if arg_mandatoryp was 0. (I believe that all of
	    the other Arla programs set arg_mandatoryp to 1, so this
	    shouldn't break things)

	(2) A new type of argument which I called arg_generic_string,
	    which matches if nothing else matches. My proposal was to make
	    it only match once (it won't match if it's already been
	    filled), so that if you have 2 arg_generic_string arguments in
	    your getargs list, then they can both be filled.


Thanks again,

Chris
wingc at engin.umich.edu






More information about the Arla-drinkers mailing list