Hello,
Is there a way to guarantee that if you reserve space for a series of
files at once using the XFS_RESVSP64 ioctl (in say, a for-loop before I/O
takes place) that the extents for each respective allocation will be greater
than the previous file's extents for the current reserve set? In other
words, we are looking to maintain high performance for files read/written in
sequence by laying them out in the filesystem in order to minimize disk head
seeks. With a fresh XFS filesystem, we seem to get consecutive extent
allocation, but as the filesystem ages and files are created and deleted, it
seems less and less likely to be able to reserve consecutive files. Can this
be done currently or would a new ioctl be necessary to reserve files
relative to each other be the ticket? I have included a couple examples of
what we are seeing below. Any help appreciated.
Rick Smith
The following shows 4 files reserved with XFS_RESVSP64 in a for-loop with
each consecutive file reserved in-front (with a lower starting extent) than
the previous one (xfs_bmap-v):
test.20.data:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..10799]: 1417438960..1417449759 168 (8154160..8164959) 10800
test.21.data:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..10799]: 1417428160..1417438959 168 (8143360..8154159) 10800
test.22.data:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..10799]: 1417417360..1417428159 168 (8132560..8143359) 10800
test.23.data:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..10799]: 1417406560..1417417359 168 (8121760..8132559) 10800
The following shows an alternating reserve location for files reserved in
order:
test.6.data:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..10799]: 1405059864..1405070663 167 (4163664..4174463) 10800
test.7.data:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..10799]: 1404984224..1404995023 167 (4088024..4098823) 10800
test.8.data:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..10799]: 1405070664..1405081463 167 (4174464..4185263) 10800
test.9.data:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..10799]: 1404973424..1404984223 167 (4077224..4088023) 10800
_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN 8.
http://join.msn.com/?page=features/junkmail
|