Lines Matching defs:vmi

1204 static inline void vma_iter_config(struct vma_iterator *vmi,
1207 MAS_BUG_ON(&vmi->mas, vmi->mas.node != MAS_START &&
1208 (vmi->mas.index > index || vmi->mas.last < index));
1209 __mas_set_range(&vmi->mas, index, last - 1);
1215 static inline int vma_iter_prealloc(struct vma_iterator *vmi,
1218 return mas_preallocate(&vmi->mas, vma, GFP_KERNEL);
1221 static inline void vma_iter_clear(struct vma_iterator *vmi)
1223 mas_store_prealloc(&vmi->mas, NULL);
1226 static inline int vma_iter_clear_gfp(struct vma_iterator *vmi,
1229 __mas_set_range(&vmi->mas, start, end - 1);
1230 mas_store_gfp(&vmi->mas, NULL, gfp);
1231 if (unlikely(mas_is_err(&vmi->mas)))
1237 static inline struct vm_area_struct *vma_iter_load(struct vma_iterator *vmi)
1239 return mas_walk(&vmi->mas);
1243 static inline void vma_iter_store(struct vma_iterator *vmi,
1248 if (MAS_WARN_ON(&vmi->mas, vmi->mas.node != MAS_START &&
1249 vmi->mas.index > vma->vm_start)) {
1251 vmi->mas.index, vma->vm_start, vma->vm_start,
1252 vma->vm_end, vmi->mas.index, vmi->mas.last);
1254 if (MAS_WARN_ON(&vmi->mas, vmi->mas.node != MAS_START &&
1255 vmi->mas.last < vma->vm_start)) {
1257 vmi->mas.last, vma->vm_start, vma->vm_start, vma->vm_end,
1258 vmi->mas.index, vmi->mas.last);
1262 if (vmi->mas.node != MAS_START &&
1263 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start)))
1264 vma_iter_invalidate(vmi);
1266 __mas_set_range(&vmi->mas, vma->vm_start, vma->vm_end - 1);
1267 mas_store_prealloc(&vmi->mas, vma);
1270 static inline int vma_iter_store_gfp(struct vma_iterator *vmi,
1273 if (vmi->mas.node != MAS_START &&
1274 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start)))
1275 vma_iter_invalidate(vmi);
1277 __mas_set_range(&vmi->mas, vma->vm_start, vma->vm_end - 1);
1278 mas_store_gfp(&vmi->mas, vma, gfp);
1279 if (unlikely(mas_is_err(&vmi->mas)))