On Mon, Aug 22, 2011 at 07:56:31PM +0200, Marco Stornelli wrote: > Il 22/08/2011 17:57, Sunil Mushran ha scritto: > >>>Any proposal that differentiates between holes is wrong. It should not > >>>matter where the hole is. > >>> > >>>Think of it from the usage-pov. > >>> > >>>doff = 0; > >>>while ((doff = lseek(SEEK_DATA, doff)) != -ENXIO) { > >>>hoff = lseek(SEEK_HOLE, doff); > >>>read_offset = doff; > >>>read_len = hoff -doff; > >>>process(); > >>>doff = hoff; > >>>} > >>> > >>>The goal is to make this as efficient as follows. Treating the last > >>>hole differently adds more code for no benefit. > >>> > >>Mmmm.....It seems that Josef has to be clear in this point. However I > >>looked for the seek hole test in xfs test suite, but I didn't find > >>anything. Btrfs guys, how have you got tested the implementation? What > >>do you think about this corner case? Al, what do you think about it? > > > > > >The following test was used to test the early implementations. > >http://oss.oracle.com/~smushran/seek_data/ > > > > Thank you very much!! I found another point. Your test fails with my > implementation because here > (http://www.austingroupbugs.net/view.php?id=415) says: "If whence is > SEEK_DATA, the file offset shall be set to the smallest location of > a byte not within a hole and not less than offset. It shall be an > error if no such byte exists." So in this case I return ENXIO but > the test expects another value. I have to say that there is a bit of > confusion about the real behavior of this new feature :) Which is exactly why I'm trying to get the definitions clarified first, then the behaviour codified in a single test suite we can call the 'authoritive test'. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs