[OpenAFS-devel] Odd Behavior with 1.4.2fc3

Jeffrey Hutzelman jhutz@cmu.edu
Tue, 19 Sep 2006 00:49:35 -0400


On Monday, September 18, 2006 11:28:43 PM -0400 Jason McCormick 
<jasonmc@cert.org> wrote:

> time 237.439306, pid 2981: Access vp 0xf6059080 mode 0x100 len (0x0, 
0x2119d6a)
> time 237.439310, pid 2981: Open 0xf6059080 flags 0x0
> time 237.439312, pid 2981: Open 0xf6059080 flags 0xf423f
> time 237.439318, pid 2981: Getattr vp 0xf6059080 len (0x0, 0x2119d6a)
> time 237.439327, pid 2981: Getattr vp 0xf6059080 len (0x0, 0x2119d6a)
> time 237.439331, pid 2981: Iread ip xf6059080 pos (0x0, 0x0) count 0x0 
code 1869f
> time 237.439333, pid 2981: Iread ip xf6059080 pos (0x0, 0x0) count 0x0 
code 0
> time 237.454574, pid 2981: Close 0xf6059080 flags 0x0

It looks like we are returning the correct length, and the program is
asking to read zero bytes.  Note that "Iread" entries come in pairs; one
logged before the operation starts and one after it completes.  The
"code 1869f" is the magic constant 99999, indicating the entry logged at
the start of the operation, before we know what the result will be.

It seems like it would be a good idea to run strace on this, and observe
- If it's calling stat(), whether the returned size is correct
- What count is actually being passed to read(), and what is returned.

-- Jeff