> Specifically, what is the data pointer/length field in buf > structs? Looking at sys/buf.h, it appears that b_un.b_addr is the > data pointer, and b_bcount is the length.
You're right. > Trying to trace system calls to confirm my suspicion, I become > catatonic at the amount of indirection inherent in the VFS code. You took the most difficult path :-) Just look at getblk() and allocbuf() in vfs_bio.c and this should be clear. -p.