Scroll to navigation

G_DATA(9) Kernel Developer's Manual G_DATA(9)

NAME

g_read_data, g_write_dataread/write data from/to GEOM consumer

SYNOPSIS

#include <geom/geom.h>

void *
g_read_data(struct g_consumer *cp, off_t offset, off_t length, int *error);

int
g_write_data(struct g_consumer *cp, off_t offset, void *ptr, off_t length);

DESCRIPTION

The () function reads length bytes of data from the provider attached to consumer cp, starting at offset offset. The buffer returned from g_read_data() is allocated with (), so it should be freed by the caller with () after use. If the operation fails, an error value will be stored in the error argument if it is not NULL.

The () function writes length bytes of data from the buffer pointed to by ptr to the provider attached to consumer cp, starting at offset offset.

RESTRICTIONS/CONDITIONS

The length argument should be a multiple of the provider's sectorsize and less than or equal to DFLTPHYS (DFLTPHYS is defined in <sys/param.h>).

The topology lock must not be held.

RETURN VALUES

The g_read_data() function returns a pointer to a data buffer or NULL if an error occurred. In that case an error value is stored in the error argument unless it is NULL.

The g_write_data() function returns 0 if successful; otherwise an error code is returned.

ERRORS

Possible errors:

[]
An I/O error occurred while reading from or writing to the consumer.
[]
Corrupted data was detected while reading from the consumer.

SEE ALSO

geom(4), DECLARE_GEOM_CLASS(9), g_access(9), g_attach(9), g_bio(9), g_consumer(9), g_event(9), g_geom(9), g_provider(9), g_provider_by_name(9), g_wither_geom(9)

AUTHORS

This manual page was written by Pawel Jakub Dawidek <pjd@FreeBSD.org>.

March 30, 2020 Debian