A method, performed by an overlay optimizer that includes an upper filter positioned above a write filter in a file system stack and a lower filter positioned below the write filter , for handling a commit or commit-delete operation, the method comprising: receiving, by the lower filter , a first create operation that was initiated by the write filter in response to a commit or commit-delete operation, the first create operation identifying a file to be opened; in response to determining, by the lower filter , that a copy of the file identified in the first create operation is stored in an overlay cache managed by the upper filter : initiating, by the lower filter , a second create operation to open the file targeted by the first create operation and causing the second create operation to be passed to the upper filter ; modifying, by the upper filter , the second create operation to cause the second create operation to obtain a handle to the copy of the file that is stored in the overlay cache ; obtaining, by the lower filter , the handle to the copy of the file that is stored in the overlay cache and modifying the first create operation to include the handle; and completing, by the lower filter , the first create operation to thereby cause the write filter to perform the commit or commit-delete operation using the handle to the copy of the file that is stored in the overlay cache . receiving, by the lower filter , a first create operation that was initiated by the write filter in response to a commit or commit-delete operation, the first create operation identifying a file to be opened; in response to determining, by the lower filter , that a copy of the file identified in the first create operation is stored in an overlay cache managed by the upper filter : initiating, by the lower filter , a second create operation to open the file targeted by the first create operation and causing the second create operation to be passed to the upper filter ; modifying, by the upper filter , the second create operation to cause the second create operation to obtain a handle to the copy of the file that is stored in the overlay cache ; obtaining, by the lower filter , the handle to the copy of the file that is stored in the overlay cache and modifying the first create operation to include the handle; and completing, by the lower filter , the first create operation to thereby cause the write filter to perform the commit or commit-delete operation using the handle to the copy of the file that is stored in the overlay cache . initiating, by the lower filter , a second create operation to open the file targeted by the first create operation and causing the second create operation to be passed to the upper filter ; modifying, by the upper filter , the second create operation to cause the second create operation to obtain a handle to the copy of the file that is stored in the overlay cache ; obtaining, by the lower filter , the handle to the copy of the file that is stored in the overlay cache and modifying the first create operation to include the handle; and completing, by the lower filter , the first create operation to thereby cause the write filter to perform the commit or commit-delete operation using the handle to the copy of the file that is stored in the overlay cache . <EOS>