| CPC G06F 16/172 (2019.01) [G06F 11/1469 (2013.01); G06F 2201/84 (2013.01)] | 13 Claims |

|
1. A computer-implemented method for improving read performance of a file using data pre-fetches, comprising:
encoding an extent map identifying valid data of the file as extents, wherein the file is a holey file comprising the valid data interspersed with one or more holes constituting invalid data;
storing the extent map in a network client executing an application, wherein the application produces a read request to access the file from storage, wherein extent map comprises a recipe consisting of a sequence of offsets, with each offset defining a corresponding extent;
transferring, upon the read request, the extent map to a filesystem storing the file;
bringing, in the filesystem, the extents from the extent map into memory ahead of the read request;
calculating, using the recipe, extent-aware prefetch offsets that skip over the one or more holes so that the prefetch offsets always fall within an extent of valid data of the file; and
generating pre-fetches of data on the file using the extent-aware prefetch offsets.
|