Messages in this thread | | | Subject | Re: [PATCH 1/2] fs: add SEEK_HOLE and SEEK_DATA flags | From | Valdis.Kletnieks@vt ... | Date | Sun, 24 Apr 2011 23:11:20 -0400 |
| |
On Thu, 21 Apr 2011 15:42:33 EDT, Josef Bacik said:
> -SEEK_HOLE: this moves the file pos to the nearest hole in the file from the > given position.
Do we want the semantic to be "the nearest" hole? Or did we really want "the next" hole? Loops like a bullet loaded in the chamber and pointed at the programmer's foot if they aren't allowing for the fact that this can go *backwards* in the file if the closest hole is towards the beginning. Good way to end up in an infinite loop or other messy...
Consider the obvious implementation of "skip over a hole" - lseek(SEEK_HOLE), lseek(SEEK_DATA). and start reading data because we've skipped over the hole. Wrong - the second seek may have gone backwards if the data was only 4K away but the hole was 64K in size...
[unhandled content-type:application/pgp-signature] | |