1. A method of migrating cache state with a virtual machine (VM), the method comprising: detecting that a migration of a VM from a source host machine to a target host machine has started, the VM executing on the source host machine; identifying an initial state of a first local cache associated with the VM, the first local cache accessible by the source host machine and storing data previously fetched from a shared storage; sending initial pre-fetch hints to the target host machine, the initial pre-fetch hints based on the initial state of the first local cache, the initial pre-fetch hints utilized by the target host machine to fetch, from the shared storage, at least a subset of the data stored in the first local cache for storage in a second local cache accessible by the target host machine; detecting that the VM executing on the source host machine has been paused as part of the migration of the VM from the source host machine to the target host machine; based on detecting that the VM executing on the source host machine has been paused, identifying a state of the first local cache; comparing the state of the first local cache to the initial state of the first local cache; based on the comparing, identifying blocks in the first local cache that have been modified or newly added; and prior to the migration completing and subsequent to sending the initial pre-fetch hints, sending pre-fetch hints only for those blocks in the first local cache that have been modified or newly added to the target host machine, the pre-fetch hints utilized by the target host machine to fetch, from the shared storage, at least a subset of the data stored in the first local cache for storage in the second local cache accessible by the target host machine.