IP Library Granted Patent US 10,824,598
Granted Patent B2
US 10,824,598 · App. 16/057,694 · Granted Nov 3, 2020

Handling file commit and commit-delete operations in an overlay optimizer

Inventors: Gokul Thiruchengode Vajravel (Rayasandra Bengaluru, IN); Ankit Kumar (Deoghar, IN)
Assignee: Dell Products L.P.
G06F16/1734G06F16/16G06F16/172G06F16/2365G06F16/2379
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,824,598
App. No.
16/057,694
Granted
Nov 3, 2020
Kind
B2
Abstract

File commit and commit-delete operations can be successfully completed in environments that employ an overlay optimizer to enhance the performance of a write filter. The overlay optimizer can be structured into upper and lower instances relative to the write filter. The upper instance can cause files to be moved from the write filter's overlay into an overlay cache to thereby optimize the performance of the overlay. To prevent the failure of commit and commit-delete operations that target files that have been moved to the overlay cache, the lower instance can be configured to detect when the write filter is attempting to perform a commit or commit-delete operation and can modify the processing of such operations to cause them to be completed successfully even though the files targeted by the operations do not exist in the write filter's overlay.

Claims (42)

1. 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 the commit or commit-delete operation, the first create operation identifying a file to be opened;

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;

in response to determining that the copy of the file identified in the first create operation is stored in the 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.

2. The method of claim 1 , wherein the lower filter receives the first create request via a preoperation callback routine.

3. The method of claim 2 , wherein the step of completing the first create operation comprises completing the first create operation in the preoperation callback routine.

4. The method of claim 2 , wherein the lower filter initiates the second create request in the preoperation callback routine.

5. The method of claim 1 , wherein the copy of the file stored in the overlay cache comprises a modified copy of the file.

6. The method of claim 5 , further comprising:

prior to the first create operation being received, moving, by the upper filter, the modified copy of the file from an overlay of the write filter to the overlay cache.

7. The method of claim 1 , wherein the upper filter and the lower filter are instances of a same filter that are loaded at different altitudes in the file system stack.

8. The method of claim 1 , wherein the step of determining that the copy of the file identified in the first create operation is stored in the overlay cache comprises querying a component of the upper filter using a filename specified in the first create operation.

9. The method of claim 1 , wherein the step of initiating the second create operation comprises specifying a path to the file on a protected volume and modifying the second create operation comprises specifying a path to the copy of the file that is stored in the overlay cache.

10. The method of claim 1 , wherein the first create operation specifies that the file is to be opened and then deleted.

11. One or more computer storage media storing computer executable instruction which when executed by one or more processors implement a method for handling a commit or commit-delete operation, the method comprising:

receiving, at a lower filter that is positioned below a write filter in a file system stack, a first create operation that was initiated by the write filter in response to the commit or commit-delete operation, the first create operation identifying a file to be opened;

in response to receiving the first create operation that was initiated by the write filter in response to the commit or commit-deleted operation, determining that a copy of the file identified in the first create operation is stored in an overlay cache;

initiating a second create operation to open the file targeted by the first create operation;

obtaining, from the second create operation, a handle to the copy of the file that is stored in the overlay cache;

modifying the first create operation to include the handle; and

completing 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.

12. The computer storage media of claim 11 , wherein the lower filter receives the first create request via a preoperation callback routine.

13. The computer storage media of claim 12 , wherein completing the first create operation comprises completing the first create operation in the preoperation callback routine.

14. The computer storage media of claim 11 , wherein initiating a second create operation to open the file targeted by the first create operation includes causing the second create operation to be passed to an upper filter that is positioned above the write filter.

15. The computer storage media of claim 14 , wherein the method further comprises:

modifying, by the upper filter, the second create operation to target the copy of the file that is stored in the overlay cache.

16. The computer storage media of claim 11 , wherein the method further comprises:

prior to the first create operation being received, moving, by an upper filter, the copy of the file from an overlay of the write filter to the overlay cache.

17. The computer storage media of claim 11 , wherein the write filter is a file-based write filter.

18. 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 and via a preoperation callback routine, a first create operation that identifies a file to be opened;

determining, by the lower filter, that a copy of the file identified in the first create operation is stored in an overlay cache;

in response to determining that the copy of the file identified in the first create operation 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;

obtaining, from the second create operation, a handle to the copy of the file that is stored in the overlay cache;

modifying the first create operation to include the handle; and

completing, by the lower filter and in the preoperation callback routine, the first create operation.

19. The method of claim 18 , wherein initiating a second create operation to open the file targeted by the first create operation includes causing the second create operation to be passed to the upper filter.

20. The method of claim 18 , further comprising:

prior to the first create operation being received, moving, by the upper filter, the copy of the file from an overlay of the write filter to the overlay cache.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2018
From: VAJRAVEL, GOKUL THIRUCHENGODE; KUMAR, ANKIT
To: DELL PRODUCTS L.P.
Reel/Frame 046584/0388 →