[OpenAFS-devel] Patch to implement default tuning proposal discussed a while ago
Troy Benjegerdes
hozer@hozed.org
Wed, 17 Aug 2005 15:46:46 -0500
On Wed, Aug 17, 2005 at 04:28:29PM -0400, Jim Rees wrote:
> chas williams reported that giant caches didn't work at all with the old
> defaults, but did with the new. Are you reporting the opposite? Did your
> 8GB cache work with the old afsd and default parameters? Did you cold-cache
> before this run?
I did not remove any files. I was using the default parameters set by
the debian package previously.
> You do realize that you still need to set the parameters manually for a
> cache this large, right? I'm hoping we can get to where this is no longer
> necessary, and I hope the recent commit is a step in the right direction.
What parameters do I need for this?
> Having said all that, your bt doesn't make sense. The readdir call is at
> line 793, not 778. Is this with the latest afsd.c from cvs?
I thought so, but apparently you committed the patch between the time I
did a checkout this morning and got it built. After an update, I see
this:
gdb afsd
...
> run -verbose -debug
doSweepAFSCache: Opening cache directory '/var/cache/openafs/D261'
doSweepAFSCache: Current directory entry:
inode=885058, reclen=16, name='.'
doSweepAFSCache: Current directory entry:
inode=2, reclen=16, name='..'
doSweepAFSCache: Closing cache directory.
Program received signal SIGSEGV, Segmentation fault.
0x400d2ffb in readdir () from /lib/tls/libc.so.6
(gdb) bt
#0 0x400d2ffb in readdir () from /lib/tls/libc.so.6
#1 0x0804a49e in doSweepAFSCache (vFilesFound=0xbfffb33c,
directory=0x80711a0 "/var/cache/openafs", dirNum=-2, maxDir=128)
at afsd.c:793
#2 0x0804ad6e in SweepAFSCache (vFilesFound=0xbfffb33c) at afsd.c:1191
#3 0x0804b7c9 in mainproc (as=0x8072e28, arock=0x0) at afsd.c:1913
#4 0x0804fa72 in cmd_Dispatch (argc=3, argv=0xbfffe854) at cmd.c:882
#5 0x0804d0a6 in main (argc=0, argv=0x0) at afsd.c:2264
(gdb) up
#1 0x0804a49e in doSweepAFSCache (vFilesFound=0xbfffb33c,
directory=0x80711a0 "/var/cache/openafs", dirNum=-2, maxDir=128)
at afsd.c:793
793 for (currp = readdir(cdirp); currp; currp = readdir(cdirp))
(gdb) print *cdirp
$1 = <incomplete type>
(gdb) print cdirp
$2 = (DIR *) 0x808dfb0
(gdb) print (DIR *)cdirp
$3 = (struct __dirstream *) 0x808dfb0
(gdb) print (DIR *) *cdirp
$4 = (struct __dirstream *) 0x0