Patent ID: 7577763
Filing Date: 2009-08-18
Classification: G06F

Abstract:
1. A method of performing I/O operations, the method comprising: receiving from a client a request, to be sent to a file system, for a target chunk; wherein data managed by the file system is divided into data blocks; wherein the target chunk has a first start boundary and a first end boundary between which said target chunk is stored in said file system; wherein the first end boundary of the target chunk does not coincide with a block boundary of the data blocks managed by the file system; in response to said request for the target chunk, and prior to requesting the target chunk from the file system, determining adjusted boundaries based on the first start boundary and the first end boundary; wherein the adjusted boundaries include a second start boundary and a second end boundary; wherein the second end boundary is different from the first end boundary; wherein the adjusted boundaries (a) encompass the target chunk, and (b) coincide with block boundaries; in response to the request, submitting one or more requests to the file system, wherein the one or more requests are for all data blocks within the adjusted boundaries; and receiving from the file system, in response to the one or more requests, the data blocks within the adjusted boundaries; and based on the data blocks within the adjusted boundaries, responding to said request by providing to the client the target chunk; wherein the step of determining adjusted boundaries based on the first start boundary and the first end boundary includes designating a closest block boundary that follows the first end boundary as the second end boundary such that the second start boundary and the second end boundary encompasses the target chunk; wherein the method is performed by a computing device programmed to be a special purpose machine pursuant to instructions from program software.