On Mon, May 20, 2019 at 11:57 AM Markus Metz <markus.metz.gisw...@gmail.com> wrote:
> > > On Mon, May 20, 2019 at 5:39 PM Vaclav Petras <wenzesl...@gmail.com> > wrote: > > > > Hi MarkusM and all, > > > > I'm trying to understand if the Segment_open() [1] function fills with > zeros or not. I don't think it does since it is calling G_malloc (malloc) > or Segment_format_nofill(). However, it is not completely clear to me what > is supposed to be doing because documentation still says it calls > Segment_format() and I don't understand context of the related commit [2, > 3] and the usage of lseek and USE_LSEEK are not clear to me from format.c > [4]. > > Segment_open() uses Segment_format_nofill() [1], if it can not use the > all-in-memory cache. The documentation has not been updated accordingly > (yet). > Thank you. Just be to be sure: Now, if you want to ensure that it is zero-filled across platform, you need to do it yourself using Segment_put(), right? (Assuming you want to use Segment_open().) The exact role of lseek() here is still unclear to me (the hole and \0 bytes). Would Segment_open_zero_fill() make sense, i.e. do you know if Segment_fill() faster then Segment_put()? > The advantage of no fill, only lseek, is that it is faster, the > disadvantage is that any "no space left on device" error will be > encountered only later on, and you always need to check the return code of > Segment_put(). > Makes sense. I'll document that as well. > > HTH, > > Markus M > > [1] https://github.com/OSGeo/grass/blob/master/lib/segment/open.c#L89 > > > > > Markus, can you please clarify that for me? I will then update the > documentation with whatever is needed. > > > > Thanks, > > Vaclav > > > > [1] > https://grass.osgeo.org/programming7/segment_2open_8c.html#ae24d2e794c66c0512b67d7cea8b2ba9a > > [2] > https://github.com/OSGeo/grass/commit/7a0d8d749537acd6d5c4baea11dbb6167fdef916 > > [3] https://trac.osgeo.org/grass/changeset/73268 > > [4] https://github.com/OSGeo/grass/blob/master/lib/segment/format.c >
_______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-dev