Hello,
I have made some progress concerning this issue with slight modifications
to the XFS source code. Specifically, changing the default allocation type
to XFS_ALLOCTYPE_FIRST_AG and set the default allocation group to zero (when
nullfb == NULL in xfs_bmap_alloc() in xfs_bmap.c). It is my hope to always
force allocation to start searching at the beginning of allocation group 0
and then proceed to the next group once the preceding group is full. Since I
am using XFS_IOC_RESVSP64 to reserve the files ahead of time, I am not
concerned with potentially slowing down the file creation process. I also
realize that this is probably not what most filesystem users are looking
for, but I think it is crucial for video I/O.
Is there a way to specify to the allocator to always begin with the start
of an allocation group? There are cases where a file gets allocated from an
allocation group and then a later file allocation gets a space closer to the
beginning of the same allocation group. Is this due to the binary block
search in xfs_alloc_ag_vextent_size()?
Also, are there any other potential drawbacks to setting the default
allocation type to XFS_ALLOCTYPE_FIRST_AG?
Thanks.
Rick Smith
_________________________________________________________________
MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*.
http://join.msn.com/?page=features/virus
|