definitions for /proc/fs/xfs/stat
Mark Goodwin
goodwinos at gmail.com
Mon Jun 17 19:13:30 CDT 2013
On 06/17/2013 11:11 AM, Nathan Scott wrote:
>> ok, I have a simple reproducer. try out the following, noting you'll
>> obviously have to change the directory pointed to by dname:
>>
>> libc=ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True)
>> falloc=getattr(libc, 'fallocate')
>>
>
> This is using the glibc fallocate wrapper - I have vague memories of an
> old libc which used to do per-page buffered writes providing a poor-mans
> implementation of fallocate, maybe somehow that older version/behaviour
> is being triggered.
Python probably tipped you into a posix_fallocate() bog hole - it writes
one byte to every block in the range offset .. offset+len as the portable
(but poor-man's) implementation of fallocate(). This combined with your
controller cache could explain the unexpected i/o.
See glibc:sysdeps/posix/posix_fallocate.c
-- Mark
More information about the xfs
mailing list