Lines Matching refs:bmv
5366 * Get inode's extents as described in bmv, and format for output.
5368 * are mapped, until the passed-in bmv->bmv_count slots have
5375 struct getbmapx *bmv, /* user bmap structure */
5399 iflags = bmv->bmv_iflags;
5434 if (bmv->bmv_length == -1) {
5436 bmv->bmv_length =
5437 max_t(__int64_t, fixlen - bmv->bmv_offset, 0);
5438 } else if (bmv->bmv_length == 0) {
5439 bmv->bmv_entries = 0;
5441 } else if (bmv->bmv_length < 0) {
5445 nex = bmv->bmv_count - 1;
5448 bmvend = bmv->bmv_offset + bmv->bmv_length;
5451 if (bmv->bmv_count > ULONG_MAX / sizeof(struct getbmapx))
5453 out = kmem_zalloc(bmv->bmv_count * sizeof(struct getbmapx), KM_MAYFAIL);
5490 bmv->bmv_entries = 0;
5502 error = xfs_bmapi(NULL, ip, XFS_BB_TO_FSBT(mp, bmv->bmv_offset),
5503 XFS_BB_TO_FSB(mp, bmv->bmv_length),
5510 for (i = 0; i < nmap && nexleft && bmv->bmv_length; i++) {
5536 bmv->bmv_offset =
5539 bmv->bmv_length =
5540 max_t(__int64_t, 0, bmvend - bmv->bmv_offset);
5554 bmv->bmv_entries++;
5557 } while (nmap && nexleft && bmv->bmv_length);