posix_fallocate

Krzysztof Błaszkowski
2010-05-07T08:21:10Z

Hello,

I use this to preallocate large space but found an issue. Posix_fallocate
works right with sizes like 100G, 1T and even 10T on some boxes (on some
other can fail after e.g. 7T threshold) but if i tried e.g. 16T the user
space process would be "R"unning forever and it is not interruptible.
Furthermore some other not related processes like sshd, bash enter D state.
There is nothing in kernel log.

I made so far a few logs with ftrace facility for 1G, 100G, 1T and 10T sizes.
I noticed that for 1st three sizes the log is as long as abt 1.5M (2M peak)
while 10T generates 94M long log. I couldn't retrieve a log for 17T case
because "cat /sys ... /trace" enters D.

I would appreciate any help because i gave up with ftrace logs analysis. The
xfs_vn_fallocate is covered in abt 11k lines for a 1.5M log case while there
are abt 163k lines in 94M log. And all i could see is poss some relationship
between time spent in xfs_vn_fallocate subfunctions vs requested space.

Box details:
16 Hitachi 2TB drives (backplane connected), dm, 1 lvm lun of 25T size,
kernel 2.6.31.5, more recent kernels neither xfs were not tested.

Regards,
Krzysztof Blaszkowski