Lines Matching defs:bmv
301 struct getbmapx *bmv,
306 struct kgetbmap *p = out + bmv->bmv_entries;
322 if (!(bmv->bmv_iflags & BMV_IF_DELALLOC))
332 (bmv->bmv_iflags & BMV_IF_PREALLOC))
341 bmv->bmv_offset = p->bmv_offset + p->bmv_length;
342 bmv->bmv_length = max(0LL, bmv_end - bmv->bmv_offset);
343 bmv->bmv_entries++;
350 struct getbmapx *bmv,
356 struct kgetbmap *p = out + bmv->bmv_entries;
358 if (bmv->bmv_iflags & BMV_IF_NO_HOLES)
365 bmv->bmv_offset = p->bmv_offset + p->bmv_length;
366 bmv->bmv_length = max(0LL, bmv_end - bmv->bmv_offset);
367 bmv->bmv_entries++;
372 struct getbmapx *bmv)
374 return bmv->bmv_length == 0 || bmv->bmv_entries >= bmv->bmv_count - 1;
396 * Get inode's extents as described in bmv, and format for output.
398 * are mapped, until the passed-in bmv->bmv_count slots have
405 struct getbmapx *bmv, /* user bmap structure */
409 int iflags = bmv->bmv_iflags;
418 if (bmv->bmv_iflags & ~BMV_IF_VALID)
428 if (bmv->bmv_length < -1)
430 bmv->bmv_entries = 0;
431 if (bmv->bmv_length == 0)
505 if (bmv->bmv_length == -1) {
507 bmv->bmv_length = max(0LL, max_len - bmv->bmv_offset);
510 bmv_end = bmv->bmv_offset + bmv->bmv_length;
512 first_bno = bno = XFS_BB_TO_FSBT(mp, bmv->bmv_offset);
513 len = XFS_BB_TO_FSB(mp, bmv->bmv_length);
525 xfs_getbmap_report_hole(ip, bmv, out, bmv_end, bno,
530 while (!xfs_getbmap_full(bmv)) {
538 xfs_getbmap_report_hole(ip, bmv, out, bmv_end, bno,
540 if (xfs_getbmap_full(bmv))
552 error = xfs_getbmap_report_one(ip, bmv, out, bmv_end,
554 if (error || xfs_getbmap_full(bmv))
561 if (bmv->bmv_entries > 0)
562 out[bmv->bmv_entries - 1].bmv_oflags |=
566 !xfs_getbmap_full(bmv)) {
567 xfs_getbmap_report_hole(ip, bmv, out, bmv_end,