IP Library Granted Patent US 9,244,932
Granted Patent B1
US 9,244,932 · App. 13/751,782 · Granted Jan 26, 2016

Resolving reparse point conflicts when performing file operations

Inventor: Murtaza S. Ghiya (Maharashtra, IN)
Assignee: Symantec Corporation
G06F17/30129G06F17/30073G06F17/30156
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 9,244,932
App. No.
13/751,782
Filed
Jan 28, 2013
Granted
Jan 26, 2016
Kind
B1
Examiner
WONG, LESLIE
Art Unit
2164
USPC
707/667
Abstract

Various systems and methods for detecting and resolving a reparse point conflict are disclosed. One method involves receiving a request to perform a file operation, where the file operation includes generation of a reparse point associated with the file. In response to receipt of the request, the method includes detecting a reparse point conflict, where detection of the reparse point conflict indicates a conflict between the reparse point and an existing reparse point. In response to detection of the reparse point conflict, the reparse point conflict is resolved.

Claims (116)

1. A method comprising:

receiving a request to perform a file operation on a file, wherein

the file operation includes generation of a reparse point associated with the file;

in response to receipt of the request, detecting a reparse point conflict, wherein

the detecting the reparse point conflict indicates that performing the file operation would cause existence of a plurality of reparse points associated with the file,

the detecting is performed prior to performing the file operation, and

the plurality of reparse points comprises the reparse point and an existing reparse point associated with the file; and

in response to the detection of the reparse point conflict, resolving the reparse point conflict.

2. The method of claim 1 , further comprising

performing the file operation indicated by the request.

3. The method of claim 1 , wherein

the resolving the reparse point conflict comprises

deleting the existing reparse point, and

generating the reparse point, wherein

the file operation uses the reparse point.

4. The method of claim 3 , wherein

the deleting the existing reparse point comprises

sending a request to an operating system to perform the deleting.

5. The method of claim 3 , wherein

the reparse point is different from the existing reparse point.

6. The method of claim 1 , wherein the resolving the reparse point

conflict comprises

associating the file operation with the existing reparse point.

7. The method of claim 1 , wherein

the file operation comprises an archiving operation,

the archiving operation is configured to generate

an archived file that comprises a copy of at least a portion of the file, and

a reparse point that links the file to the copy of the file.

8. The method of claim 1 , wherein

the file operation is configured to operate on a file,

the detecting the reparse point conflict comprises detecting whether the file is deduplicated,

the resolving the reparse point conflict comprises

generating an undeduplicated file by undeduplicating the file, wherein

the undeduplicating of the file deletes the existing reparse point.

9. The method of claim 1 , wherein

the file operation is configured to operate on a file,

the resolving the reparse point conflict comprises

performing the file operation on the file, wherein

the performance of the file operation does not generate the reparse point.

10. The method of claim 9 , wherein

the resolving the reparse point conflict further comprises

generating copied data and copied metadata by copying data and metadata associated with the file,

deleting the file, wherein

the deleting the file deletes the existing reparse point, and

generating a new file, wherein

the generating is based on the copied data and the copied metadata.

11. A system comprising:

one or more processors; and

a control module, wherein

the control module is configured to

receive a request to perform a file operation on a file, wherein

the file operation includes generation of a reparse point associated with the file,

in response to receipt of the request, detect a reparse point conflict, wherein

detecting the reparse point conflict indicates that performing the file operation would cause existence of a plurality of reparse points associated with the file,

the detecting is performed prior to performing the file operation, and

the plurality of reparse points comprises the reparse point and an existing reparse point associated with the file, and

in response to the detecting of the reparse point conflict, resolve the reparse point conflict;

wherein the control module is configured to be executed using the one or more processors.

12. The system of claim 11 , wherein

the control module being configured to resolve the reparse point conflict comprises

the control module being further configured to

delete the existing reparse point, and

generate the reparse point, wherein

the file operation uses the reparse point.

13. The system of claim 11 , wherein

the control module being configured to resolve the reparse point conflict comprises

the control module being further configured to

associate the file operation with the existing reparse point.

14. The system of claim 11 , wherein

the file operation is configured to operate on a file,

the control module being configured to detect the reparse point conflict comprises

the control module being further configured to detect whether the file is deduplicated,

the control module being configured to resolve the reparse point conflict comprises

the control module being further configured to

generate an undeduplicated file by undeduplicating the file, wherein

the undeduplication of the file deletes the existing reparse point.

15. The system of claim 11 , wherein

the file operation is configured to operate on a file, and

the control module being configured to resolve the reparse point conflict comprises

the control module being further configured to

perform the file operation on the file, wherein

the performance of the file operation does not generate the reparse point.

16. The system of claim 15 , wherein

the control module being configured to resolve the reparse point conflict comprises

the control module being further configured to

generate copied data and copied metadata by copying data and metadata associated with the file,

delete the file, wherein

deleting the file deletes the existing reparse point, and

generate a new file, wherein

the control module is configured to perform the generation based on the copied data and the copied metadata.

17. A computer program product comprising:

a plurality of instructions, comprising

a first set of instructions, executable on a computer system, configured to

receive a request to perform a file operation on a file, wherein the file operation includes generation of a reparse point associated with the file,

a second set of instructions, executable on the computer system, configured to

in response to receipt of the request, detect a reparse point conflict, wherein

detecting the reparse point conflict indicates that performing the file operation would cause existence of a plurality of reparse points associated with the file,

the detecting is performed prior to performing the file operation, and

the plurality of reparse points comprises the reparse point and an existing reparse point associated with the file, and

a third set of instructions, executable on the computer system, configured to

in response to the detection of the reparse point conflict, resolve the reparse point conflict; and

a computer-readable storage medium, wherein the instructions are encoded in the computer-readable storage medium.

18. The computer program product of claim 17 , wherein the third set of instructions configured to resolve the reparse point conflict are further configured to

delete the existing reparse point, and

generate the reparse point, wherein

the file operation uses the reparse point.

19. The computer program product of claim 17 , wherein the third set of instructions configured to resolve the reparse point conflict are further configured to

associate the file operation with the existing reparse point.

20. The computer program product of claim 17 , wherein

the file operation is configured to operate on a file,

wherein the second set of instructions configured to detect a reparse point conflict are further configured to

detect whether the file is deduplicated,

wherein the third set of instructions configured to resolve the reparse point conflict are further configured to

generate an undeduplicated file by undeduplicating the file, wherein the undeduplicating of the file deletes the existing reparse point.

21. The method of claim 1 , wherein

the existing reparse point was created in response to a deduplication operation.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075794/0333 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2013
From: GHIYA, MURTAZA S.
To: SYMANTEC CORPORATION
Reel/Frame 029969/0233 →