Hi,
I'm seeing a very strange behavior when I write to a file using 512k
direct-io writes. The filesystem is XFS and the kernel is 2.6.0-test9.
The first time I do it the 512k writes are broken down into 4k requests
and the drives only see these small requests ( a lot of them).
The second time (after the data is been written once) the 512k writes
are preserved all the way to the drives.
Preallocating the space for the file have little impact on this
behavior.
Here is a more detail description of the two situations
first time:
- rm /content/file
- touch /content/file
- xfs_io -c 'resvsp 0 1048576000' /content/file
- xfs_bmap /content/file
/content/file:
0: [0..2047999]: 348456960..350504959
- perform 2000 sequential direct IO writes onto the file
starting from 0
- all the BIOs that are passed to the io-scheduler are 4k long
second time:
- xfs_bmap /content/file
/content/file:
0: [0..2047999]: 348456960..350504959
- perform 2000 sequential direct IO writes onto the file
starting from 0
- all the BIOs that are passed to the io-scheduler are 512k long
Is this behavior expected on XFS or is this a generic direct-IO related
issued?
Any information or suggestions would be greatly appreciated?
Thanks
beto
|