Cache consistency for FlexCache volumes is achieved by using three primary techniques: delegations, attribute cache timeouts, and write operation proxy.
Delegations ensure that the FlexCache volumes can directly serve client read requests without having to access the origin volume. As long as the FlexCache volume continues to have a delegation for the data on a file, the origin volume does not modify the contents of the file. The origin volume must revoke all the delegations to a file from the FlexCache volumes before modifying the contents of the file.
If a FlexCache volume does not have delegations to a cached file, the data in the cache is considered valid for a duration determined by the attribute cache timeout value.
Any FlexCache volume that receives a write request from the client proxies the request to the origin volume. If the FlexCache volume contains a cached copy of the data that changes in the origin, the FlexCache volume removes the file containing the cached data and stores the updated data during a subsequent read operation.