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.