Snapshot technology is becoming prevalent to perform data protection and other tasks such as data mining and data cloning. To improve the performance and reliability of the traditional Linux LVM snapshot, we propose a novel cached dependent snapshot system, ESnap. ESnap decreases the total amount of data copy effectively using the data dependency among snapshot volumes. A new snapshot metadata organization scheme is designed to support massive snapshot volumes and the corresponding read/write algorithms are put forward. Also the automatic extending of snapshot volumes is implemented in ESnap to avoid the failure of the whole dependent snapshot chain due to space overflow of one snapshot. experimental results show that ESnap has higher performance, reliability and the resource utilization rate than traditional Linux LVM snapshot system.