static char * gfs_pio_view_global_read(GFS_File gf, char *buffer, size_t size, size_t *lengthp) { struct gfs_file_global_context *gc = gf->view_context; char *e = gfs_pio_view_global_adjust(gf, buffer, &size); int length; /* XXX - should be size_t */ if (e != NULL) return (e); e = gfs_pio_read(gc->fragment_gf, buffer, size, &length); if (e != NULL) return (e); *lengthp = length; return (NULL); }
static gfarm_error_t gfs_pio_view_global_read(GFS_File gf, char *buffer, size_t size, size_t *lengthp) { struct gfs_file_global_context *gc = gf->view_context; gfarm_error_t e = gfs_pio_view_global_adjust(gf, buffer, &size); int length; /* XXX - should be size_t */ if (e != GFARM_ERR_NO_ERROR) return (e); e = gfs_pio_read(gc->fragment_gf, buffer, size, &length); if (e != GFARM_ERR_NO_ERROR) return (e); *lengthp = length; return (GFARM_ERR_NO_ERROR); }
static char * gfs_pio_view_global_write(GFS_File gf, const char *buffer, size_t size, size_t *lengthp) { struct gfs_file_global_context *gc = gf->view_context; char *e = gfs_pio_view_global_adjust(gf, buffer, &size); int length; /* XXX - should be size_t */ if (e != NULL) return (e); e = gfs_pio_write(gc->fragment_gf, buffer, size, &length); if (e != NULL) return (e); if (gc->fragment_index == gf->pi.status.st_nsections - 1 && gf->io_offset + length > gc->offsets[gf->pi.status.st_nsections]) gc->offsets[gf->pi.status.st_nsections] = gf->io_offset + length; *lengthp = length; return (NULL); }
static gfarm_error_t gfs_pio_view_global_write(GFS_File gf, const char *buffer, size_t size, size_t *lengthp) { struct gfs_file_global_context *gc = gf->view_context; gfarm_error_t e = gfs_pio_view_global_adjust(gf, buffer, &size); int length; /* XXX - should be size_t */ if (e != GFARM_ERR_NO_ERROR) return (e); e = gfs_pio_write(gc->fragment_gf, buffer, size, &length); if (e != GFARM_ERR_NO_ERROR) return (e); /* XXX - should notify this change to all of the parallel process. */ if (gc->fragment_index == gf->pi.status.st_nsections - 1 && gf->io_offset + length > gc->offsets[gf->pi.status.st_nsections]) gc->offsets[gf->pi.status.st_nsections] = gf->io_offset + length; *lengthp = length; return (GFARM_ERR_NO_ERROR); }