1. A processor-implemented method of determining whether to use Copy-On-Write (COW) or Point-In-Time-Copy (PITC) for storing multiple versions of at least a portion of a file, the computer-implemented method comprising: receiving a request to modify at least a portion of a file; determining, via execution of instructions by a processor, whether to perform a Point-In-Time-Copy operation, the determining whether to perform a Point-In-Time-Copy operation comprising: determining whether the request to modify at least a portion of the file corresponds to at least one of a request to delete the file and a request to overwrite the file in its entirety; if it is determined that the request to modify corresponds to a request to delete the file or to overwrite the file in its entirety, determining whether any blocks of the file have already had a Copy-On-Write operation performed on them; and if it is determined that none of the blocks of the file have already had a Copy-On-Write operation performed on them, concluding that a Point-In-Time-Copy operation may be performed on the portion of the file; and if it is determined to perform a Point-In-Time-Copy, performing a Point-In-Time Copy operation on the portion of the file; and if it is determined not to perform a Point-In-Time-Copy, performing a Copy-On-Write operation on the portion of the file.