<dec f='src/src/sys/ufs/ext2fs/ext2fs_extern.h' l='94' type='int ext2fs_alloc(struct inode * , daddr_t , daddr_t , kauth_cred_t , daddr_t * )'/>
<def f='src/src/sys/ufs/ext2fs/ext2fs_alloc.c' l='114' ll='152' type='int ext2fs_alloc(struct inode * ip, daddr_t lbn, daddr_t bpref, kauth_cred_t cred, daddr_t * bnp)'/>
<doc f='src/src/sys/ufs/ext2fs/ext2fs_alloc.c' l='97'>/*
 * Allocate a block in the file system.
 *
 * A preference may be optionally specified. If a preference is given
 * the following hierarchy is used to allocate a block:
 *   1) allocate the requested block.
 *   2) allocate a rotationally optimal block in the same cylinder.
 *   3) allocate a block in the same cylinder group.
 *   4) quadradically rehash into other cylinder groups, until an
 *	  available block is located.
 * If no block preference is given the following hierarchy is used
 * to allocate a block:
 *   1) allocate a block in the cylinder group that contains the
 *	  inode for the file.
 *   2) quadradically rehash into other cylinder groups, until an
 *	  available block is located.
 */</doc>
<doc f='src/src/sys/ufs/ext2fs/ext2fs_extern.h' l='93'>/* ext2fs_alloc.c */</doc>
<use f='src/src/sys/ufs/ext2fs/ext2fs_balloc.c' l='146' u='c' c='ext2fs_balloc'/>
<use f='src/src/sys/ufs/ext2fs/ext2fs_balloc.c' l='185' u='c' c='ext2fs_balloc'/>
<use f='src/src/sys/ufs/ext2fs/ext2fs_balloc.c' l='225' u='c' c='ext2fs_balloc'/>
<use f='src/src/sys/ufs/ext2fs/ext2fs_balloc.c' l='263' u='c' c='ext2fs_balloc'/>
