blocks that are already available in the partially read block cache 200 for example assume that blocks b 1 and b 3 are stored in cache 200 because of the prior i o operation involving target chunk 210 assume that a subsequent request arrives for the target chunk 220 that corresponds to the range b c to service this request the read scheduler 112 would provide data in the range b y from the cached data block b 3 read scheduler 112 would then adjust the request to the range y c to exclude the block that was already in cache after the adjustments to exclude cached blocks the new range y c is adjusted as described in the previous section to achieve an aligned i o operation in the present example y would not be adjusted to achieve aligned i o since y already coincides with a block boundary however c would be adjusted up to the block boundary z of block b 4 thus the i o request sent from read scheduler 112 to file system 120 would be for block b 4 e g range y z when read scheduler 112 receives block b 4 from file system 120 read scheduler 112 provides data in the range y c from block b 4 to the client and stores block b 4 as a partially read block in partially read block cache 200 thus the client is provided data from the requested range b c with only a single.