[OpenAFS] Re: Large files with 1.6.0pre2

Andrew Deason adeason@sinenomine.net
Sat, 5 Mar 2011 13:47:55 -0600


On Fri, 4 Mar 2011 17:57:12 -0600
"Ryan C. Underwood" <nemesis-lists@icequake.net> wrote:

> No, both fileservers are 1.6.0pre2.  But I thought it might be
> significant that the 6GB file resides on a volume created by 1.4.x
> while the target volume is created by 1.6.0pre2.

Probably not. Nothing like that changed in the on-disk format, and
there's nothing special about >2G files on disk, anyway (from our
perspective).

> I do have an strace log of the fileserver when the client fails but
> have no idea what to look for.  I didn't see any seek calls in it.  It
> is about 120 megs of plaintext.  I can compress and post it somewhere
> if it would help.

That would be helpful. But if you want to look yourself, I'd find a
failed pread, or even an open, stat, fstat to be more likely, or a short
read.

The best way is probably to look for the actual file in the log, though.
You can get the filename from the fid, and you can get the fid from 'fs
getfid'. First get the fid by just running 'fs getfid' on it on the
client. Then, on the server, you can run

volinfo /vicepa <volid> -filenames | grep -F 'Vnode <vnode>.<uniq>'

For example:

$ fs getfid /afs/foo/bar/file
File /afs/foo/bar/file (537895567.2.3) contained in volume 537895567
# volinfo /vicepa 537895567 -filenames | grep -F 'Vnode 2.3'
         0 Vnode 2.3.217 cloned: 0, length: 2443710464 linkCount: 1
parent: 1 UFS-Filename: /vicepa/AFSIDat/D0/D8u1U/+/+/0++++A

So, in that case, the filename is /vicepa/AFSIDat/D0/D8u1U/+/+/0++++A,
and you can look for accesses to that file in the strace.

-- 
Andrew Deason
adeason@sinenomine.net