GETIOBUF(9) | NetBSD Kernel Developer's Manual | GETIOBUF(9)

# NAME

getiobuf, putiobuf — I/O descriptor allocation interface

# SYNOPSIS

#include <sys/buf.h>

struct buf *
getiobuf(struct vnode *vp, bool waitok);

void
putiobuf(struct buf *bp);

# DESCRIPTION

getiobuf() allocates a buf structure.

vp
  The vnode to which the allocated buffer will be associated. This can be NULL.
waitok
  If true, getiobuf can sleep until enough memory is available. Otherwise, it returns NULL immediately if not enough memory is available.

Note that the allocated buffer doesn't belong to the buffer cache. To free it, putiobuf() should be used. brelse() should not be used on it.

putiobuf() frees bp, which should be a buffer allocated with getiobuf().

# SEE ALSO

buffercache(9), intro(9)

May 6, 2008 | NetBSD 5.99