freebsd 2.2.5 and arla-0.13
Assar Westerlund
assar at sics.se
Wed Oct 7 05:45:18 CEST 1998
Eric Hoffman <hoffman at cs.washington.edu> writes:
> #0 0x1755 in find_by_name (page0=0x0, name=0x587e8 "cs", fid=0x2c7dc4,
> dir=0x2c78dc) at adir.c:110
> #1 0x1e8b in adir_lookup (dir={Cell = 0, fid = {Volume = 536871104,
> Vnode = 1, Unique = 1}}, name=0x587e8 "cs", file=0x2c7dc4, ce=0xd3c60)
> at adir.c:331
> #2 0xd028 in cm_lookup (dir_fid={Cell = 0, fid = {Volume = 536871104,
> Vnode = 1, Unique = 1}}, name=0x587e8 "cs", res=0x2c7dc4, ce=0x2c7d50)
> at inter.c:513
> #3 0xf39d in xfs_message_getnode (fd=8, h=0x587c4, size=292) at messages.c:586
> #4 0xeab1 in xfs_message_receive (fd=8, h=0x587c4, size=292) at messages.c:339
> #5 0xe1c1 in process_message (fd=8) at kernel.c:75
I think the logic in adir_lookup is quite broken and it gets confused
because the first iteration half-worked. Try adding `1 ||' at the
begin of the if-condition so that branch is always taken.
> running arlad from zero, and listing the root directory of my cell,
> gives a path through adir_lookup() which fails on fcache_open_file()
> and returns.
>
> adir_lookup() then gets called again, but the large if clause fails,
> and find_by_name() is called on the value of the_fbuf.buf filled in at
> stack frame initialization time
That's weird. Doesn't the_fbuf get initialized to {NULL, -1, 0, 0} ?
> I'm enclosing the xfs log should you care to look at it...having the
> fileid be zero on the fhlookup seems somewhat off...anyways, again,
> suggestions are welcome, but I'm perfectly happy to try to muddle
> through myself
The fileid being zero is bad and is probably a result of fcache_fhget
failing. Did you get any debug output from xfs while arlad was
creating the cache files?
/assar
More information about the Arla-drinkers
mailing list