Correct an error of omission in r206819. If VMFS_TLB_ALIGNED_SPACE is

specified to vm_map_find(), then retry the vm_map_findspace() if
vm_map_insert() fails because the aligned space is already partly used.

Reported by:	Neel Natu
This commit is contained in:
Alan Cox 2010-05-02 01:25:03 +00:00
parent 8f3bd46654
commit 9b55fc0429

View File

@ -1412,7 +1412,11 @@ vm_map_find(vm_map_t map, vm_object_t object, vm_ooffset_t offset,
}
result = vm_map_insert(map, object, offset, start, start +
length, prot, max, cow);
} while (result == KERN_NO_SPACE && find_space == VMFS_ALIGNED_SPACE);
} while (result == KERN_NO_SPACE && (find_space == VMFS_ALIGNED_SPACE
#ifdef VMFS_TLB_ALIGNED_SPACE
|| find_space == VMFS_TLB_ALIGNED_SPACE
#endif
));
vm_map_unlock(map);
return (result);
}