In one embodiment, a user or
client device communicates with a
distributed file system comprised of one or more physical nodes. The data on each of the physical nodes store
metadata about files and directories within the
file system. Some of the embodiments permit a user to take a snapshot of data stored on the
file system. The snapshot may include a single file, a single
directory, a plurality of files within a
directory, a plurality of directories, a path on the
file system that includes nested files and subdirectories, or more than one path on the file
system that each includes nested files and directories. In some embodiments, systems and methods intelligently choose whether to use copy-on-write or point-in-time copy when saving data in a snapshot version of a file whose current version is being overwritten. In some embodiments, systems and methods allow snapshot users to return from a snapshot
directory to the immediate parent directory from which the user entered into the snapshot.