Provided by: freebsd-manpages_12.2-1_all bug

NAME

     VOP_BMAP — Logical to physical block number conversion

SYNOPSIS

     #include <sys/param.h>
     #include <sys/vnode.h>

     int
     VOP_BMAP(struct vnode *vp, daddr_t bn, struct bufobj **bop, daddr_t *bnp, int *runp,
         int *runb);

DESCRIPTION

     This vnode call is used to lookup the physical block number of the file system's underlying
     device where a given logical block of a file is stored.  Its arguments are:

     vp    The vnode of the file.

     bn    Logical block number within the file identified by vp.

     bop   Return storage for the buffer object associated with the file system's underlying
           device.

     bnp   Return storage for the physical block number.

     runp  Return storage for the number of succeeding logical blocks that may be efficiently
           read at the same time as the requested block.  This will usually be the number of
           logical blocks whose physical blocks are contiguously allocated.  However a file
           system is free to define "efficient" as it see fit.

     runb  Like runp but for preceding rather than succeeding blocks.

     Any of the return arguments may be NULL to indicate that the caller does not care about that
     information.

LOCKS

     The vnode will be locked on entry and should remain locked on return.

RETURN VALUES

     Zero is returned on success, otherwise an error code is returned.

SEE ALSO

     vnode(9),

HISTORY

     A bmap() function first appeared in 4.2BSD.

AUTHORS

     This manual page was written by Alan Somers.