Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
G_DATA(9)		    Kernel Developer's Manual		       G_DATA(9)

NAME
     g_read_data, g_write_data -- read/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 g_read_data() function reads length bytes of data from the provider at-
     tached to consumer cp, starting at offset offset.	The buffer returned from
     g_read_data()  is	allocated  with g_malloc(), so it should be freed by the
     caller with g_free() after use.  If the operation	fails,	an  error  value
     will be stored in the error argument if it is not NULL.

     The  g_write_data()  function  writes  length bytes of data from the buffer
     pointed to by ptr to the provider attached to consumer cp, starting at off-
     set 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 argu-
     ment unless it is NULL.

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

ERRORS
     Possible errors:

     [EIO]		An  I/O  error occurred while reading from or writing to
			the consumer.

     [EINTEGRITY]	Corrupted data was detected while reading from the  con-
			sumer.

SEE ALSO
     geom(4),  DECLARE_GEOM_CLASS(9), g_access(9), g_attach(9), g_bio(9), g_con-
     sumer(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>.

FreeBSD ports 15.quarterly	 March 30, 2020 		       G_DATA(9)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=g_data&sektion=9&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help